mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 17:18:32 +00:00
For compatibility with Linux and Solaris add poweroff(8).
It is implemented as a hard link to shutdown(8) and it is equivalent of: # shutdown -p now While I'm here put one line of usage into one line of C code so it is easier to grep(1) and separate unrelated code with empty line. MFC after: 2 weeks
This commit is contained in:
parent
4a9ef3f833
commit
6868734cbe
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=216823
|
@ -3,6 +3,8 @@
|
|||
|
||||
PROG= shutdown
|
||||
MAN= shutdown.8
|
||||
LINKS= ${BINDIR}/shutdown ${BINDIR}/poweroff
|
||||
MLINKS= shutdown.8 poweroff.8
|
||||
|
||||
BINOWN= root
|
||||
BINGRP= operator
|
||||
|
|
|
@ -28,11 +28,12 @@
|
|||
.\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd December 23, 2008
|
||||
.Dd December 30, 2010
|
||||
.Dt SHUTDOWN 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm shutdown
|
||||
.Nm shutdown ,
|
||||
.Nm poweroff
|
||||
.Nd "close down the system at a given time"
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
|
@ -47,6 +48,7 @@
|
|||
.Oc
|
||||
.Ar time
|
||||
.Op Ar warning-message ...
|
||||
.Nm poweroff
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Nm
|
||||
|
@ -173,6 +175,13 @@ When run without options, the
|
|||
utility will place the system into single user mode at the
|
||||
.Ar time
|
||||
specified.
|
||||
.Pp
|
||||
Calling utility as
|
||||
.Nm poweroff
|
||||
is equivalent of calling:
|
||||
.Bd -literal -offset indent
|
||||
shutdown -p now
|
||||
.Ed
|
||||
.Sh FILES
|
||||
.Bl -tag -width /var/run/nologin -compact
|
||||
.It Pa /var/run/nologin
|
||||
|
|
|
@ -115,8 +115,31 @@ main(int argc, char **argv)
|
|||
if (geteuid())
|
||||
errx(1, "NOT super-user");
|
||||
#endif
|
||||
|
||||
nosync = NULL;
|
||||
readstdin = 0;
|
||||
|
||||
/*
|
||||
* Test for the special case where the utility is called as
|
||||
* "poweroff", for which it runs 'shutdown -p now'.
|
||||
*/
|
||||
if ((p = rindex(argv[0], '/')) == NULL)
|
||||
p = argv[0];
|
||||
else
|
||||
++p;
|
||||
if (strcmp(p, "poweroff") == 0) {
|
||||
if (getopt(argc, argv, "") != -1)
|
||||
usage((char *)NULL);
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
if (argc != 0)
|
||||
usage((char *)NULL);
|
||||
dopower = 1;
|
||||
offset = 0;
|
||||
(void)time(&shuttime);
|
||||
goto poweroff;
|
||||
}
|
||||
|
||||
while ((ch = getopt(argc, argv, "-hknopr")) != -1)
|
||||
switch (ch) {
|
||||
case '-':
|
||||
|
@ -161,6 +184,7 @@ main(int argc, char **argv)
|
|||
|
||||
getoffset(*argv++);
|
||||
|
||||
poweroff:
|
||||
if (*argv) {
|
||||
for (p = mbuf, len = sizeof(mbuf); *argv; ++argv) {
|
||||
arglen = strlen(*argv);
|
||||
|
@ -510,7 +534,7 @@ usage(const char *cp)
|
|||
if (cp != NULL)
|
||||
warnx("%s", cp);
|
||||
(void)fprintf(stderr,
|
||||
"usage: shutdown [-] [-h | -p | -r | -k] [-o [-n]]"
|
||||
" time [warning-message ...]\n");
|
||||
"usage: shutdown [-] [-h | -p | -r | -k] [-o [-n]] time [warning-message ...]\n"
|
||||
" poweroff\n");
|
||||
exit(1);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue