PHP Manual
Prev |  | Next

# pcntl_signal

(PHP 4 >= 4.1.0)

pcntl_signal -- Installs a signal handler

## Description

bool pcntl_signal ( int signo, mixed handle)

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.

pcntl_signal() returns `TRUE` on success or `FALSE` on failure.

Example 1. pcntl_signal() Example

    <?php

    // 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");

    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().

Prev | Home | Next
pcntl_fork | Up | pcntl_waitpid