0

PHPスクリプトがあるとします。

//main.php -> PID = 1002
<?php 
exec('ProcessOne');
exec('ProcessTwo');
//... many other exec calls
?>

main.php は、スクリプトによって記録/追跡されない可能性がある独自の pid を持つ他の多くのプロセスを作成しますが、main.php の pid はわかっています。

私の質問は、私の例では1002であるmain.phpのpidだけを知ることによって、main.php(main.phpを含む)によって作成されたすべてのプロセスを強制終了するにはどうすればよいですか?

スクリプトは Linux で実行する必要があります。

ありがとう

4

1 に答える 1

4
pkill -TERM -P 1002

pkill -P PIDすべての子プロセスを提供し、シグナルをすべての子プロセスに-TERM送信します。TERM

子供の子供を殺すには:

kill `pstree -p 1002 | sed 's/(/\n(/g' | grep '(' | sed 's/(\(.*\)).*/\1/' | tr "\n" " "`

プロセス ツリーのウォーキング の修正版。

于 2012-06-17T10:50:37.910 に答える