Run a process in the background
#include <sys/procmgr.h> int procmgr_daemon( int status, unsigned flags );
- The status that you want to return to the parent process.
- The flags currently defined (in <sys/procmgr.h>) are:
- PROCMGR_DAEMON_NOCHDIR — unless this flag is set, procmgr_daemon() changes the current working directory to the root /.
- PROCMGR_DAEMON_NOCLOSE — unless this flag is set, procmgr_daemon() closes all file descriptors other than standard input, standard output and standard error.
- PROCMGR_DAEMON_NODEVNULL — unless this flag is set, procmgr_daemon() redirects standard input, standard output and standard error to /dev/null.
- PROCMGR_DAEMON_KEEPUMASK — unless this flag is set, procmgr_daemon() sets the umask to 0 (zero).
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The function procmgr_daemon() function lets programs detach themselves from the controlling terminal and run in the background as system daemons. This also puts the caller into session 1.
The argument status is returned to the parent process as if exit() were called; the returned value is normally EXIT_SUCCESS.
A nonnegative integer, or -1 if an error occurs.