Agent skill
swoole-doc
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/swoole-doc
SKILL.md
swoole_process::kill
向进程发送信号
int swoole_process::kill($pid, $signo = SIGTERM);
- 默认的信号为SIGTERM,表示终止进程
- $signo=0,可以检测进程是否存在,不会发送信号
此方法类似于posix_kill http://php.net/manual/zh/function.posix-kill.php
僵尸进程
子进程退出后,父进程务必要执行swoole_process::wait进行回收,否则这个子进程就会变为僵尸进程。会浪费操作系统的进程资源。
父进程可以设置监听SIGCHLD信号,收到信号后执行swoole_process::wait回收退出的子进程。
<?php
$process = new swoole_process('callback_function', true);
//子进程执行的逻辑
function callback_function(swoole_process $worker)
{
swoole_timer_tick(2000,function(){
echo time();
})
}
$pid = $process->start();
//父进程执行的逻辑
//监听子进程退出信号
swoole_process::signal(SIGCHLD, function($sig) {
//必须为false,非阻塞模式
while($ret = swoole_process::wait(false)) {
//执行回收后的处理逻辑,比如拉起一个新的进程
}
});
Didn't find tool you were looking for?