2

Supervisordを介して多くの PHP プロセスを実行しています。時々、Supervisord をシャットダウンする必要があります。その際、作成したすべての PHP プロセスに TERM シグナルを送信します ( stopsignal=TERMsupervisord.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 プロセスを終了していません。

4

1 に答える 1