workerman 閉められない場合はどうすればよいですか?
問題: 起動スクリプトで Worker::stopAll() を実行しても、workerman が停止しません。Worker::stopAll() は、workerman を実行しているメイン プロセスで実行された場合にのみ有効であり、次の場合には効果がありません。他の外部プロセスによって実行されます。
Workerman を停止するプロセスは
#1. Workerman メイン プロセス pid を見つけます
2. SIGINT シグナルを pid に送信します (posix_kill( SIGINT, pid) )
3. ワーカーのメインプロセスは SIGINT シグナルを受信した後、Worker::stopAll() を実行してサービスの停止を完了します。
これらの 3 つのステップは Workerman 内にカプセル化する必要があります。呼び出しプロセスは
1 です。$argv = 'stop';
2 を設定します。実行します。 Worker::runAll();
以上がワーカーマンを閉められない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。