POSIX_GETPID(3) 1 POSIX_GETPID(3)posix_getpid - Return the current process identifierSYNOPSIS
int posix_getpid (void )
DESCRIPTION
Return the process identifier of the current process.
RETURN VALUES
Returns the identifier, as an integer.
EXAMPLES
Example #1
Example use of posix_getpid(3)
<?php
echo posix_getpid(); //8805
?>
SEE ALSO posix_kill(3), POSIX man page GETPID(2).
PHP Documentation Group POSIX_GETPID(3)
Check Out this Related Man Page
PCNTL_SIGNAL(3) 1 PCNTL_SIGNAL(3)pcntl_signal - Installs a signal handlerSYNOPSIS
bool pcntl_signal (int $signo, callable|int $handler, [bool $restart_syscalls = true])
DESCRIPTION
The pcntl_signal(3) function installs a new signal handler or replaces the current signal handler for the signal indicated by $signo.
PARAMETERS
o $signo
- The signal number.
o $handler
- The signal handler. This may be either a callable, which will be invoked to handle the signal, or either of the two global con-
stants SIG_IGN or SIG_DFL, which will ignore the signal or restore the default signal handler respectively. If a callable is
given, it must implement the following signature:
void handler (int $signo)
o $signo
- The signal being handled.
Note
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.
o $restart_syscalls
- Specifies whether system call restarting should be used when this signal arrives.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 4.3.0 | |
| | |
| | As of PHP 4.3.0 PCNTL uses ticks as the signal |
| | handle callback mechanism, which is much faster |
| | than the previous mechanism. This change follows |
| | the same semantics as using "user ticks". You |
| | must use the declare() statement to specify the |
| | locations in your program where callbacks are |
| | allowed to occur for the signal handler to func- |
| | tion properly (as used in the example below). |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
pcntl_signal(3) 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:
echo "Caught SIGUSR1...
";
break;
default:
// handle all other signals
}
}
echo "Installing signal handler...
";
// 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"));
echo"Generating signal SIGUSR1 to self...
";
// send SIGUSR1 to current process id
// posix_* functions require the posix extension
posix_kill(posix_getpid(), SIGUSR1);
echo "Done
";
?>
NOTES pcntl_signal(3) doesn't stack the signal handlers, but replaces them.
SEE ALSO pcntl_fork(3), pcntl_waitpid(3).
PHP Documentation Group PCNTL_SIGNAL(3)