防止信号传播到子进程

时间:2017-03-09 14:46:42

标签: php unix process background-process

我有一个脚本toto1.php,它在后台调用另一个脚本toto2.php。

toto1.php

$command = 'nohup php toto2.php > /dev/null 2> /dev/null &';
exec($command);
while (true) {
    echo "sleep...\n";
    sleep(1);
}

toto2.php

<?php
function signalHandler($signal)
{
    echo "SIGNAL: $signal\n";
    exit;
}
pcntl_signal(SIGINT, 'signalHandler');

for ($i = 0;;$i++) {
    pcntl_signal_dispatch();
    echo "HELLO $i\n";
    sleep(1);
}

当我在终端上启动toto1.php并使用ctrl+c将其终止时,会向SIGINT发送toto2.php信号。如何阻止toto1.phptoto2.php被杀时向Miniviews发送信号?

此致

0 个答案:

没有答案