|Linux & Unix Commands - Search Man Pages
PIDFILE(3) BSD Library Functions Manual PIDFILE(3)
pidfile -- write a daemon pid file
System Utilities Library (libutil, -lutil)
pidfile(const char *path);
pidfile() creates a file containing the process ID of the caller program. 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 is removed automatically, unless the program receives a fatal signal.
If path is NULL or a plain basename (a name containing no directory components), the pid
file is created in the /var/run directory. The file name has the form
/var/run/basename.pid. The basename part is either the value of path if it was not NULL, or
the program name as returned by getprogname(3) otherwise.
If path is an absolute or relative path (i.e. it contains the '/' character), the pid file
is created in the provided location.
Note that only the first invocation of pidfile() causes a pid file to be written; subsequent
invocations have no effect unless a new path is supplied. If called with a new path,
pidfile() will remove the old pid file and write the new one.
pidfile() returns 0 on success and -1 on failure.
The pidfile() function call appeared in NetBSD 1.5. Support for creating pid files in any
arbitrary path was added in NetBSD 6.0.
pidfile() uses atexit(3) to ensure the pid file is unlinked at program exit. However, pro-
grams that use the _exit(2) function (for example, in signal handlers) will not trigger this
BSD March 23, 2011 BSD
All times are GMT -4. The time now is 02:10 PM.