Manager进程

swoole中worker/task进程都是由Manager进程Fork并管理的。

  • 子进程结束运行时,manager进程负责回收此子进程,避免成为僵尸进程。并创建新的子进程
  • 服务器关闭时,manager进程将发送信号给所有子进程,通知子进程关闭服务
  • 服务器reload时,manager进程会逐个关闭/重启子进程

为什么不是Master进程呢,主要原因是Master进程是多线程的,不能安全的执行fork操作。


  • selbstkennen梁晨

    存在一种异常场景,强制杀掉master之后,manager和worker还在的情况,具体原因不太清楚。

  • swoole课程

    222

  • Strengthen

    应该是因为,worker任然在工作,而不是处于闲置状态,manager在等待worker结束,所以也不会被回收,所以光kill掉master是无法回收manager和worker(task),需要保证worker工作完成