diff options
Diffstat (limited to 'usr.sbin/daemon/daemon.8')
-rw-r--r-- | usr.sbin/daemon/daemon.8 | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/usr.sbin/daemon/daemon.8 b/usr.sbin/daemon/daemon.8 new file mode 100644 index 0000000..14b134a --- /dev/null +++ b/usr.sbin/daemon/daemon.8 @@ -0,0 +1,123 @@ +.\" Copyright (c) 1999 Berkeley Software Design, Inc. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Berkeley Software Design Inc's name may not be used to endorse or +.\" promote products derived from this software without specific prior +.\" written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY BERKELEY SOFTWARE DESIGN INC ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL BERKELEY SOFTWARE DESIGN INC BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd June 4, 2012 +.Dt DAEMON 8 +.Os +.Sh NAME +.Nm daemon +.Nd run detached from the controlling terminal +.Sh SYNOPSIS +.Nm +.Op Fl cfr +.Op Fl p Ar pidfile +.Op Fl u Ar user +.Ar command arguments ... +.Sh DESCRIPTION +The +.Nm +utility detaches itself from the controlling terminal and +executes the program specified by its arguments. +Privileges may be lowered to the specified user. +.Pp +The options are as follows: +.Bl -tag -width indent +.It Fl c +Change the current working directory to the root +.Pq Dq Pa / . +.It Fl f +Redirect standard input, standard output and standard error to +.Pa /dev/null . +.It Fl p Ar file +Write the ID of the created process into the +.Ar file +using the +.Xr pidfile 3 +functionality. +The program is executed in a spawned child process while the +.Nm +waits until it terminates to keep the +.Ar file +locked and removes it after the process exits. +The +.Ar file +owner is the user who runs the +.Nm +regardless of whether the +.Fl u +option is used or not. +.It Fl r +Supervise and restart the program if it has been terminated. +.It Fl u Ar user +Login name of the user to execute the program under. +Requires adequate superuser privileges. +.El +.Pp +If the +.Fl p +or +.Fl r +option is specified the program is executed in a spawned child process. +The +.Nm +waits until it terminates to keep the pid file locked and removes it +after the process exits or restarts the program. +In this case if the monitoring +.Nm +receives software termination signal (SIGTERM) it forwards it to the +spawned process. +Normally it will cause the child to exit followed by the termination +of the supervising process after removing the pidfile. +.Sh EXIT STATUS +The +.Nm +utility exits 1 if an error is returned by the +.Xr daemon 3 +library routine, 2 if the +.Ar pidfile +is requested, but cannot be opened, 3 if process is already running (pidfile +exists and is locked), +otherwise 0. +.Sh DIAGNOSTICS +If the command cannot be executed, an error message is displayed on +standard error unless the +.Fl f +flag is specified. +.Sh SEE ALSO +.Xr setregid 2 , +.Xr setreuid 2 , +.Xr daemon 3 , +.Xr exec 3 , +.Xr pidfile 3 , +.Xr termios 4 , +.Xr tty 4 +.Sh HISTORY +The +.Nm +utility first appeared in +.Fx 4.7 . |