ホームページ >PHPフレームワーク >Workerman >ワーカーマンを閉められない場合はどうすればよいですか?

ワーカーマンを閉められない場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2019-12-18 15:56:512751ブラウズ

ワーカーマンを閉められない場合はどうすればよいですか?

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();

推奨: workermanTutorial

以上がワーカーマンを閉められない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。