diff --git a/Abstracts/AsyncServer.php b/Abstracts/AsyncServer.php index 24b6fd8..85f513e 100644 --- a/Abstracts/AsyncServer.php +++ b/Abstracts/AsyncServer.php @@ -50,11 +50,7 @@ class AsyncServer implements ServerInterface public function initCoreServers(array $service, int $daemon = 0): void { $service = $this->genConfigService($service); - $pid = (int)file_get_contents(storage('.swoole.pid')); - if (posix_kill($pid, 0)) { - posix_kill($pid, SIGTERM); - } - + $this->createBaseServer(array_shift($service), $daemon); foreach ($service as $value) { $this->addListener($value); diff --git a/HotReload.php b/HotReload.php index 8c7cf13..342fcfc 100644 --- a/HotReload.php +++ b/HotReload.php @@ -50,10 +50,11 @@ class HotReload extends Command protected function execute(InputInterface $input, OutputInterface $output) { $this->startProcess(); - $signal = SIGINT | SIGQUIT | SIGTERM; - $bool = Process::signal($signal, function () { + $bool = pcntl_signal(SIGINT | SIGQUIT | SIGTERM, function () { $this->stopProcess(); - Process::wait(); + + $pid = (int)file_get_contents(storage('.swoole.pid')); + pcntl_waitpid($pid, $status); }); echo 'Listen signal ' . ($bool ? 'success' : 'fail') . PHP_EOL; if (extension_loaded('inotify')) { @@ -61,7 +62,6 @@ class HotReload extends Command } else { $this->onCrontabReload(); } - Process::wait(); }