Minor cleanups to shutdown(8):
- Make the -k "don't actually halt" flag incompatible with the halt/reboot options -h, -p, and -r. - The -n "don't sync" option is ignored if -k is specified. Issue a warning message. - Compute the actual shutdown time written to /var/run/nologin correctly in the case of "now" being specified.
This commit is contained in:
parent
53a03d1c97
commit
1d4f4c0d21
@ -30,7 +30,7 @@
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95
|
||||
.\" $Id: shutdown.8,v 1.8 1998/12/11 10:35:38 bde Exp $
|
||||
.\" $Id: shutdown.8,v 1.9 1999/01/11 09:07:42 asami Exp $
|
||||
.\"
|
||||
.Dd Dec 11, 1998
|
||||
.Dt SHUTDOWN 8
|
||||
@ -71,6 +71,9 @@ system multi-user with logins disabled (for all but super-user).
|
||||
Prevent the normal
|
||||
.Xr sync 2
|
||||
before stopping.
|
||||
This option is ignored if
|
||||
.Fl k
|
||||
is specified.
|
||||
.It Fl p
|
||||
The system will turn the power off after shutdown if it can.
|
||||
.It Fl r
|
||||
@ -105,6 +108,14 @@ is supplied as an option, the warning message is read from the standard
|
||||
input.
|
||||
.El
|
||||
.Pp
|
||||
Only one of
|
||||
.Fl h ,
|
||||
.Fl k ,
|
||||
.Fl p ,
|
||||
and
|
||||
.Fl r
|
||||
can be specified at a time.
|
||||
.Pp
|
||||
At intervals, becoming more frequent as apocalypse approaches
|
||||
and starting at ten hours before shutdown, warning messages are displayed
|
||||
on the terminals of all users logged in. Five minutes before
|
||||
|
@ -42,7 +42,7 @@ static const char copyright[] =
|
||||
static char sccsid[] = "@(#)shutdown.c 8.4 (Berkeley) 4/28/95";
|
||||
#endif
|
||||
static const char rcsid[] =
|
||||
"$Id: shutdown.c,v 1.16 1998/12/11 11:21:47 bde Exp $";
|
||||
"$Id: shutdown.c,v 1.17 1999/06/18 14:26:07 ru Exp $";
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -151,10 +151,14 @@ main(argc, argv)
|
||||
if (argc < 1)
|
||||
usage();
|
||||
|
||||
if (doreboot + dohalt + dopower > 1) {
|
||||
warnx("incompatible switches -h, -p and -r");
|
||||
if (killflg + doreboot + dohalt + dopower > 1) {
|
||||
warnx("incompatible switches -h, -k, -p and -r");
|
||||
usage();
|
||||
}
|
||||
|
||||
if (killflg && nosync)
|
||||
warnx("option -n ignored with -k");
|
||||
|
||||
getoffset(*argv++);
|
||||
|
||||
if (*argv) {
|
||||
@ -383,12 +387,14 @@ getoffset(timearg)
|
||||
time_t now;
|
||||
int this_year;
|
||||
|
||||
(void)time(&now);
|
||||
|
||||
if (!strcasecmp(timearg, "now")) { /* now */
|
||||
offset = 0;
|
||||
shuttime = now;
|
||||
return;
|
||||
}
|
||||
|
||||
(void)time(&now);
|
||||
if (*timearg == '+') { /* +minutes */
|
||||
if (!isdigit(*++timearg))
|
||||
badtime();
|
||||
|
Loading…
Reference in New Issue
Block a user