私は()子プロセスをpython
生成し、その結果、複数の子プロセス自体を生成するプロセスを持っています。ここでは、プロセスを終了せずにルートと見なされるプロセスツリー内のすべてのプロセスを終了したいと思います。git
git clone
git
python
考えられる解決策(ただし、注意事項あり):
python
子プロセスツリーを再帰的に移動します/proc/<pid>
。
この場合、このプロセス階層のプロセスが終了する前に子プロセスを作成しないようにするにはどうすればよいですか?この場合、子プロセスは孤児プロセス(競合条件)になります。
- 他のすべての子孫を
python
含むプロセスのプロセスグループを終了します。git
この場合、python
プロセスも終了しますが、これは発生したくありません。
プロセス自体python
ではなく、プロセスに基づくプロセス階層内のすべてのプロセスを確実に終了する方法はありますか?python
答え1
このpslist
パッケージには、rkill
すべての子孫を終了できるコマンドが含まれています。
pslist ユーティリティは現在のプロセスのリストを調べて、指定されたプロセスとすべての子プロセスを検索します。 [..]
rkillとして呼び出されると、このユーティリティはプロセスに関する情報を表示せずに代わりにシグナルを送信します。コマンドラインに指定しないと、終了(SIGTERM)信号が送信されます。
gitのpidだけを与えるだけです。
(Ubuntu / Archなどで使用可能)