锟斤拷锟绞撅拷锟斤拷锟斤拷诓锟斤拷锟揭伙拷锟斤拷鼗锟斤拷锟斤拷滩锟斤拷锟斤拷锟酵拷锟斤拷藕糯锟斤拷锟斤拷锟叫关闭★拷
Example #1 锟斤拷锟教匡拷锟斤拷示锟斤拷
<?php
//锟斤拷锟斤拷ticks
declare(ticks=1);
//锟斤拷锟斤拷锟接斤拷锟教凤拷支
$pid = pcntl_fork();
if ($pid == -1) {
die("could not fork"); //pcntl_fork锟斤拷锟斤拷-1锟斤拷锟斤拷锟斤拷锟斤拷锟接斤拷锟斤拷失锟斤拷
} else if ($pid) {
exit(); //锟斤拷锟斤拷锟斤拷锟斤拷pcntl_fork锟斤拷锟截达拷锟斤拷锟斤拷锟接斤拷锟教斤拷锟教猴拷
} else {
// 锟接斤拷锟斤拷pcntl_fork锟斤拷锟截碉拷时0
}
// 锟接碉拷前锟秸端凤拷锟斤拷
if (posix_setsid() == -1) {
die("could not detach from terminal");
}
// 锟斤拷装锟脚号达拷锟斤拷锟斤拷
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
// 执锟斤拷锟斤拷锟斤拷循锟斤拷锟斤拷锟斤拷
while (1) {
// do something interesting here
}
function sig_handler($signo)
{
switch ($signo) {
case SIGTERM:
// 锟斤拷锟斤拷锟叫讹拷锟脚猴拷
exit;
break;
case SIGHUP:
// 锟斤拷锟斤拷锟斤拷锟斤拷锟脚猴拷
break;
default:
// 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟脚猴拷
}
}
?>