/** * 停止服务 * @return void */ public static function stop() { // 如果没有子进程则直接退出 $all_worker_pid = self::getPidWorkerNameMap(); if (empty($all_worker_pid)) { exit(0); } // 标记server开始关闭 self::$serviceStatus = self::STATUS_SHUTDOWN; // killWorkerTimeLong 秒后如果还没停止则强制杀死所有进程 Lib\Task::add(self::KILL_WORKER_TIME_LONG, array('\\Man\\Core\\Master', 'stopAllWorker'), array(true), false); // 停止所有worker self::stopAllWorker(); }