diff --git a/HttpServer/Server.php b/HttpServer/Server.php index b9d762be..416bf802 100644 --- a/HttpServer/Server.php +++ b/HttpServer/Server.php @@ -74,6 +74,15 @@ class Server extends Application } + /** + * @return array + */ + public function getProcesses(): array + { + return $this->process ?? []; + } + + /** * @param array $configs * @return Packet|Websocket|Receive|Http|null diff --git a/System/Process/ServerInotify.php b/System/Process/ServerInotify.php index 2c12073b..4d09fd4b 100644 --- a/System/Process/ServerInotify.php +++ b/System/Process/ServerInotify.php @@ -209,6 +209,19 @@ class ServerInotify extends Process public function trigger_reload() { Snowflake::reload(); + + $system = Snowflake::app()->server; + + $processes = Config::get('processes'); + if (!empty($processes) && is_array($processes)) { + $processes = merge($processes, $system->getProcesses()); + } else { + $processes = $system->getProcesses(); + } + foreach ($processes as $name => $process) { + $process = Snowflake::app()->get($name); + $process->exit(0); + } }