PIDFILE(3)

NAME
pidfile - write a daemon pid file

SYNOPSIS
#include <util.h>
int
pidfile(const char *basename);

DESCRIPTION
pidfile() writes a file containing the process ID of the program to the /var/run directory. The file name has the form /var/run/basename.pid. If the basename argument is NULL, pidfile will determine the program name and use that instead.

The pid file can be used as a quick reference if the process needs to be sent a signal. When the program exits, the pid file will be removed automatically, unless the program receives a fatal signal.

RETURN VALUES
pidfile() returns 0 on success and -1 on failure.

SEE ALSO
atexit(3)

HISTORY
The pidfile function call appeared in OpenBSD 3.0.

CAVEATS
If pidfile() is called multiple times with different basename, only the last pidfile will be removed upon exit.

pidfile() uses atexit() to ensure the pidfile is unlinked at program exit. However, programs that use the _exit() function (for example, in signal handlers) will not trigger this behaviour.