Proc::Daemon(3) - Online Manual Page Of Unix/Linux

  Command: man perldoc info search(apropos)

WebSearch:
Our Recommended Sites:
  • Computer Support
 

Daemon(3)                      User Contributed Perl Documentation                      Daemon(3)



NAME
       Proc::Daemon - Run Perl program as a daemon process

SYNOPSIS
           use Proc::Daemon;
           Proc::Daemon::Init;

DESCRIPTION
       This module contains the routine Init which can be called by a Perl program to initialize
       itself as a daemon.  A daemon is a process that runs in the background with no controlling
       terminal.  Generally servers (like FTP and HTTP servers) run as daemon processes.  Note,
       do not make the mistake that a daemon == server.

       The Proc::Daemon::Init function does the following:

       1   Forks a child and exits the parent process.

       2   Becomes a session leader (which detaches the program from the controlling terminal).

       3   Forks another child process and exits first child.  This prevents the potential of
           acquiring a controlling terminal.

       4   Changes the current working directory to "/".

       5   Clears the file creation mask.

       6   Closes all open file descriptors.

       You will notice that no logging facility, or other functionality is performed.  Proc::Dae-
       mon::Init just performs the main steps to initialize a program as daemon.  Since other
       funtionality can vary depending on the nature of the program, Proc::Daemon leaves the
       implementation of other desired functionality to the caller, or other module/library (like
       Sys::Syslog).

       There is no meaningful return value Proc::Daemon::Init.  If an error occurs in Init so it
       cannot perform the above steps, than it croaks with an error message.  One can prevent
       program termination by using eval.

OTHER FUNCTIONS
       Proc::Daemon also defines some other functions.  These functions can be imported into the
       callers name space if the function names are specified during the use declaration:

       Fork

       Fork is like the built-in fork, but will try to fork if at all possible, retrying if nec-
       essary.  If not possible, Fork will croak.

       OpenMax

       OpenMax returns the maximum file descriptor number.  If undetermined, 64 will be returned.

NOTES
       ?   Proc::Daemon::init is still available for backwards capatibilty.  However, it will not
           perform the double fork, and will return the session ID.

AUTHOR
       Earl Hood, 

       http://www.earlhood.com/

CREDITS
       Implementation of Proc::Daemon derived from the following sources:

       ?   Advanced Programming in the UNIX Environment, by W. Richard Stevens.  Addison-Wesley,
           Copyright 1992.

       ?   UNIX Network Progamming, Vol 1, by W. Richard Stevens.  Prentice-Hall PTR, Copyright
           1998.

DEPENDENCIES
       Carp, POSIX.

SEE ALSO
       POSIX, Sys::Syslog



perl v5.8.8                                 2003-06-19                                  Daemon(3)