请教下 主进程接到reload信号后 为什么只posix_kill了一个进程id

ayamzh

// Continue reload.
$one_worker_pid = current(self::$_pidsToRestart);     <====只取了需要resetart的进程里的一个
// Send reload signal to a worker process.
posix_kill($one_worker_pid, SIGUSR1);
// If the process does not exit after self::KILL_WORKER_TIMER_TIME seconds try to kill it.
Timer::add(self::KILL_WORKER_TIMER_TIME, 'posix_kill', array($one_worker_pid, SIGKILL), false);
3341 2 0
2个回答

walkor 打赏

不能已下载全部停掉,全部停掉会有个瞬间没有任何进程对外提供服务,会导致业务有个瞬间不可用。
停掉一个然后再启动一个,这样一个一个替换成新的进程是安全的做法

  • 暂无评论
ayamzh

收到1

  • 暂无评论
年代过于久远,无法发表回答
×
🔝