Minix Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
PIDFILE(3)               BSD 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
     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.

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.

BSD                             March 23, 2011                             BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | HISTORY | BUGS