应用swoole进行过程相干编程时,常常会遇到对于过程信号的问题,在这里做一个整顿
SIGCHLD(17)
子过程退出的时候会向其父过程发送一个SIGCHLD信号
Swoole\Process::signal(SIGCHLD, function ($sig) { //必须为false,非阻塞模式 while ($ret = Swoole\Process::wait(false)) { echo "PID={$ret['pid']}\n"; } });
swoole监听SIGCHLD信号,设置回调函数对子过程进行非阻塞回收
SIGTERM(15)
失常完结的信号,kill命令默认信号.
// 默认发送信号 SIGTERM Swoole\Process::kill(int $pid, int $signo = SIGTERM): bool