主进程pcntl_signal_dispatch问题

Liam

您好,walkor大大,执行 reload的时候会给主进程发送
posix_kill($master_pid, SIGUSR1| SIGQUIT);
,但此时主进程挂起在
pcntl_wait($status, WUNTRACED);
这个地方,没有子进程退出,不会执行
pcntl_signal_dispatch
,这里是怎么个逻辑啊,还望walkor大大解惑,万分感谢

3450 1 0
1个回答

walkor

主进程收到信号后pcntl_wait调用会被中断,pcntl_wait会立刻返回,并且继续向下执行到pcntl_signal_dispatch

  • Liam 2018-05-03

    找到问题了,安装信号的时候第三个参数要传递false,pcntl_wait才可以接收到信号,不然接收不到,自己测试的时候忘记写这个了,看官方文档也没太看懂

年代过于久远,无法发表回答
🔝