Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

daemon(8) [freebsd man page]

DAEMON(8)						    BSD System Manager's Manual 						 DAEMON(8)

NAME
daemon -- run detached from the controlling terminal SYNOPSIS
daemon [-cfr] [-p child_pidfile] [-P supervisor_pidfile] [-u user] command arguments ... DESCRIPTION
The daemon utility detaches itself from the controlling terminal and executes the program specified by its arguments. Privileges may be low- ered to the specified user. The options are as follows: -c Change the current working directory to the root (``/''). -f Redirect standard input, standard output and standard error to /dev/null. -p child_pidfile Write the ID of the created process into the child_pidfile using the pidfile(3) functionality. The program is executed in a spawned child process while the daemon waits until it terminates to keep the child_pidfile locked and removes it after the process exits. The child_pidfile owner is the user who runs the daemon regardless of whether the -u option is used or not. -P supervisor_pidfile Write the ID of the daemon process into the supervisor_pidfile using the pidfile(3) functionality. The program is executed in a spawned child process while the daemon waits until it terminates to keep the supervisor_pidfile locked and removes it after the process exits. The supervisor_pidfile owner is the user who runs the daemon regardless of whether the -u option is used or not. -r Supervise and restart the program if it has been terminated. -u user Login name of the user to execute the program under. Requires adequate superuser privileges. If the -p, -P or -r option is specified the program is executed in a spawned child process. The daemon waits until it terminates to keep the pid file(s) locked and removes them after the process exits or restarts the program. In this case if the monitoring daemon receives software termination signal (SIGTERM) it forwards it to the spawned process. Normally it will cause the child to exit, remove the pidfile(s) and then terminate. The -P option is useful combined with the -r option as supervisor_pidfile contains the ID of the supervisor not the child. This is especially important if you use -r in an rc script as the -p option will give you the child's ID to signal when you attempt to stop the service, causing daemon to restart the child. EXIT STATUS
The daemon utility exits 1 if an error is returned by the daemon(3) library routine, 2 if child_pidfile or supervisor_pidfile is requested, but cannot be opened, 3 if process is already running (pidfile exists and is locked), otherwise 0. DIAGNOSTICS
If the command cannot be executed, an error message is displayed on standard error unless the -f flag is specified. SEE ALSO
setregid(2), setreuid(2), daemon(3), exec(3), pidfile(3), termios(4), tty(4) HISTORY
The daemon utility first appeared in FreeBSD 4.7. BSD
September 13, 2013 BSD

Check Out this Related Man Page

COURIERLOGGER(1)					      Double Precision, Inc.						  COURIERLOGGER(1)

NAME
courierlogger - Courier syslog wrapper SYNOPSIS
courierlogger [-name=title] [-facility=subsystem] [-pid=filename] [-user=user] [-group=group] [-droproot] [[[-respawn] [-start] program [argument...]] | [-stop] | [-restart]] DESCRIPTION
courierlogger is a wrapper that captures another process's error messages, and forwards them to the system logging facility, "syslog". There are two ways to use courierlogger: 1. Use the shell to pipe another command's standard error, and/or its standard output, to courierlogger's standard input. 2. Alternatively, courierlogger itself can start another process, and arrange to have its standard error captured. In either case, each read line of text is sent as a syslog message. OPTIONS
-name=title Use title for sending messages to syslog. title should be the application's name. -facility=subsystem Use subsystem for classifying messages. Your syslog facility uses subsystem to determine which log messages are recorded in which log files. The currently defined subsystems are: o auth o authpriv o console o cron o daemon o ftp o kern o lpr o mail o news o security o user o uucp o local0 o local1 o local2 o local3 o local4 o local5 o local6 o local7 Note Not all of the above facility names are implemented on every system. Check your system's syslog documentation for information on which facility names are allowed, and which log files record the corresponding messages for each facility. -pid=filename Save courierlogger's process ID in filename. The -pid option is required when -start, -stop, -restart are given. If -pid is given without any of these, -start is assumed. -start Run as a daemon. The pid option is required. courierlogger will quietly terminate if another courierlogger process is already running. This is used to make sure that only one instance of program is running at the same time. Specify a different filename with pid to start a second copy of program. -respawn Restart program if it terminates. Normally courierlogger itself will terminate when program finishes running. Use respawn to restart it instead. -restart Send a SIGHUP signal to the courierlogger process (as determined by examining the contents of the file specified by pid), which will in turn send a SIGHUP to its child program. Does nothing if courierlogger is not running. Note program must be originally started with the respawn option if sending it a SIGHUP causes it to terminate. The same thing may be accomplished by sending SIGHUP to courierlogger itself. -stop Send a SIGTERM signal to courierlogger, which in turn forwards it on to program. If program does not terminate in 8 seconds, kill it with SIGKILL. -user=user, -group=group If running as root, change credentials to the given user and/or group, which may be given as names or numeric ids. When running a child program, it is started before privileges are dropped (unless the -droproot option is also given). This gives a means of starting a child as root so it can bind to a privileged port, but still have courierlogger run as a non-root user. For the -stop and -restart options to work, you should configure the child program to drop its privileges to the same userid too. -droproot Drop root privileges before starting the child process. The -user and -group options specify the non-privileges userid and groupid. Without the -droproot option the child process remains a root process, and only the parent courierlogger process drops root privileges. program [ argument ] ... If a program is given program will be started as a child process of courierlogger, capturing its standard error. Otherwise, courierlogger reads message from standard input, and automatically terminates when standard input is closed. SEE ALSO
couriertcpd(1)[1], your syslog man page. NOTES
1. couriertcpd(1) couriertcpd.html Double Precision, Inc. 08/23/2008 COURIERLOGGER(1)
Man Page