DAEMON(8)

NAME
daemon - run detached from the controlling terminal

SYNOPSIS
daemon [-cf] [-p 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 lowered 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 file
    Write the ID of the created process into the file using the pidfile(3) functionality. Note, that the file will be created shortly before the process is actually executed, and will remain after the process exits (although it will be removed if the execution fails).

-u user
    Login name of the user to execute the program under. Requires adequate superuser privileges.

EXIT STATUS
The daemon utility exits 1 if an error is returned by the daemon(3) library routine, 2 if the 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.