Handle SIGINT after Swoole server start

This commit is contained in:
2026-07-08 12:13:48 +08:00
parent f6219a5c5d
commit 55d50b7bff
+5
View File
@@ -11,6 +11,8 @@ use Kiri\Server\Events\OnBeforeShutdown;
use Kiri\Server\Events\OnShutdown; use Kiri\Server\Events\OnShutdown;
use Kiri\Server\Events\OnStart; use Kiri\Server\Events\OnStart;
use Swoole\Server as SServer; use Swoole\Server as SServer;
use Swoole\Process;
use const SIGINT;
/** /**
@@ -35,6 +37,9 @@ class OnServer extends Server
public function onStart(SServer $server): void public function onStart(SServer $server): void
{ {
Kiri::setProcessName(sprintf('Master[%d]', $server->master_pid)); Kiri::setProcessName(sprintf('Master[%d]', $server->master_pid));
Process::signal(SIGINT, static function () use ($server): void {
$server->shutdown();
});
event(new OnStart($server)); event(new OnStart($server));
} }