Supervisordを介して多くの PHP プロセスを実行しています。時々、Supervisord をシャットダウンする必要があります。その際、作成したすべての PHP プロセスに TERM シグナルを送信します ( stopsignal=TERM
supervisord.conf を使用)。
その TERM シグナルをインターセプトして、PHP プロセスを適切に終了させたいと考えています。これはできますか?
このコードを PHP プログラムに追加して、これを試してみました。
declare( ticks = 1 );
function gracefully_terminate() {
echo "\n\ngracefully terminating\n\n";
}
pcntl_signal( SIGTERM, "gracefully_terminate" );
また...テストを簡単にするために、CLIを介してPHPプロセスにTERMシグナルを送信するにはどうすればよいですか? 使用してみましたKill -s TERM #####
( ##### は PHP プロセスの PID です)。おそらくこれは TERM シグナルを送信していますが、PHP プロセスを終了していません。