关于linux:linux进程常见信号

2次阅读

共计 343 个字符,预计需要花费 1 分钟才能阅读完成。

应用 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
正文完
 0