pidfile(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
PIDFILE(3)              NetBSD Library Functions Manual             PIDFILE(3)


NAME
pidfile -- write a daemon pid file
LIBRARY
System Utilities Library (libutil, -lutil)
SYNOPSIS
#include <util.h> int pidfile(const char *path);
DESCRIPTION
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 automati- cally, unless the program receives a fatal signal. If path is NULL or a plain basename (a name containing no directory com- ponents), 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 `/' charac- ter), 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 sup- plied. If called with a new path, pidfile() will remove the old pid file and write the new one.
RETURN VALUES
pidfile() returns 0 on success and -1 on failure.
SEE ALSO
atexit(3)
HISTORY
The pidfile() function call appeared in NetBSD 1.5. Support for creating pid files in any arbitrary path was added in NetBSD 6.0.
BUGS
pidfile() uses atexit(3) to ensure the pid file is unlinked at program exit. However, programs that use the _exit(2) function (for example, in signal handlers) will not trigger this behaviour. NetBSD 7.1.2 March 23, 2011 NetBSD 7.1.2
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.