× 警告!旧版文档已经暂停维护,请查看新版文档。点击前往新版文档

Process::kill

向指定pid进程发送信号

bool Process::kill($pid, $signo = SIGTERM);
  • 默认的信号为SIGTERM,表示终止进程
  • $signo=0,可以检测进程是否存在,不会发送信号

僵尸进程

子进程退出后,父进程务必要执行Process::wait进行回收,否则这个子进程就会变为僵尸进程。会浪费操作系统的进程资源。

父进程可以设置监听SIGCHLD信号,收到信号后执行Process::wait回收退出的子进程。


  • longmon

    这个函数的返回值怎么没有介绍?

  • DoCRUD

    bool,返回就是 布尔值啊

  • Nick

    命令行判断pid对应的进程是否存在,假设pid为1234

    ps aux | awk '{print $2}' | grep -w 1234

    先显示所有的进程,再打印第2列,然后再精确筛选出pid的进程

  • fa-king

    报警告了swManager_ check_exit_status: worker#2[pid=42328] abnormal exit, status=0, signal=15 请问什么回事