この質問に対する以前の回答は、フォークに焦点を当てていました。
- シェル スクリプトの終了時にバックグラウンド プロセスを強制終了する
- 親が終了した後に子プロセスを終了させる方法は?
- fork() で作成された子プロセスは、親が強制終了されると自動的に強制終了されますか?
この質問では、'system' 関数の呼び出しについて質問しています。
sleep.plというスクリプトがあるとします:
use strict;
use warnings;
sleep(300);
次に、 kill.plというスクリプトがあります。
use strict;
use warnings;
system("sleep.pl");
kill.pl を実行し、ps を使用して kill.pl のプロセス ID を見つけて強制終了します (kill -9 を使用せず、通常の強制終了のみ)。
sleep.pl はまだ眠っています。
私の質問の解決策には SIG ハンドラーが関係していると思いますが、子プロセスを強制終了するにはハンドラーに何を入れる必要がありますか?