 |
LXXXI.
Unix, , .
web-, ,
web-.
. Unix
, fork(2), waitpid(2)
signal(2), , Advanced Programming in the
UNIX Environment, W. Richard Stevens (Addison-Wesley).
PHP .
--enable-pcntl PHP, .
: -Unix (Windows).
.
. man- signal(7)
. 1.
| SIGFPE | SIGCONT |
SIGKILL | | SIGSTOP | SIGUSR1 | SIGTSTP |
| SIGHUP | SIGUSR2 | SIGTTIN | | SIGINT |
SIGSEGV | SIGTTOU | | SIGQUIT | SIGPIPE |
SIGURG | | SIGILL | SIGALRM | SIGXCPU |
| SIGTRAP | SIGTERM | SIGXFSZ | | SIGABRT |
SIGSTKFLT | SIGVTALRM | | SIGIOT | SIGCHLD |
SIGPROF | | SIGBUS | SIGCLD | SIGWINCH |
| SIGPOLL | SIGIO | SIGPWR | | SIGSYS |
| |
/daemon .
1.
<?php
$pid = pcntl_fork();
if ($pid == -1) {
die("could not fork");
} else if ($pid) {
exit(); //
} else {
//
}
//
if (!posix_setsid()) {
die("could not detach from terminal");
}
//
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
// ,
while(1) {
// -
}
function sig_handler($signo) {
switch($signo) {
case SIGTERM:
//
exit;
break;
case SIGHUP:
//
break;
default:
//
}
}
?> |
|
- pcntl_exec -
- pcntl_fork -
- pcntl_signal -
- pcntl_waitpid -
- pcntl_wexitstatus - return-
- pcntl_wifexited - TRUE, -
- pcntl_wifsignaled - TRUE, -
- pcntl_wifstopped - TRUE,
- pcntl_wstopsig - ,
- pcntl_wtermsig - ,
|  |