pcntl_signal
    (PHP 4 >= 4.1.0)
pcntl_signal -- Installs a signal handler
Description
bool 
pcntl_signal ( int signo, mixed handle [, bool restart_syscalls])
    The pcntl_signal() function installs a new
    signal handler for the signal indicated by
    signo.  The signal handler is set to
    handler which may be the name of a user
    created function, or either of the two global constants SIG_IGN
    or SIG_DFL.  The optional restart_syscalls 
    specifies whether system call restarting should be used when this 
    signal arrives and defaults to TRUE.
   
    Returns TRUE on success or FALSE on failure.
   
Note: 
     The optional restart_syscalls parameter became
     available in PHP 4.3.0.
    
Note: 
     The ability to use an object method as a callback became available in
     PHP 4.3.0.  Note that when you set a handler to an object method, that 
     object's reference count is increased which makes it persist until you 
     either change the handler to something else, or your script ends.
    
| Example 1. pcntl_signal() Example | <?php
// tick use required as of PHP 4.3.0
declare (ticks = 1);
// signal handler function
function sig_handler($signo) {
     switch($signo) {
         case SIGTERM:
             // handle shutdown tasks
             exit;
             break;
         case SIGHUP:
             // handle restart tasks
             break;
         case SIGUSR1:
             print "Caught SIGUSR1...\n";
             break;
         default:
             // handle all other signals
     }
}
print "Installing signal handler...\n";
// setup signal handlers
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP,  "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");
// or use an object, available as of PHP 4.3.0
// pcntl_signal(SIGUSR1, array($obj, "do_something");
print "Generating signal SIGTERM to self...\n";
// send SIGUSR1 to current process id
posix_kill(posix_getpid(), SIGUSR1);
print "Done\n"
?> | 
 | 
    See also pcntl_fork() and
    pcntl_waitpid().