SSHセッションでPythonプロセスを終了する方法

SSHセッションでPythonプロセスを終了する方法

helloworld.shこの質問には、MPI コマンドを実行する bash スクリプトの実行が含まれます。このスクリプトは以下を使用してmpirunPythonプログラムを実行します。helloworld.pympi4py。 bashコマンドは、helloworld.py複数の「ワーカー」ノードでプログラムを開始する「マスター」ノードのSSH端末で使用されます。 SSH接続損失のコマンドを強力にするためにnohup出力を使用し、ファイルにリダイレクトします。コマンドは

nohup bash helloworld.sh > log.txt &

すると、次のようなメッセージが出力されます。

[1] 23802
nohup: ignoring input and redirecting stderr to stdout

Ctrl+を押すと、Dプログラムが正常に実行されている間にセッションが切断されます。 Bashスクリプトはhelloworld.sh次のとおりです

mpirun -n 25 --hostfile myhostfile.txt python helloworld.py

これは、helloworld.py「マスター」ノードと一部の「ワーカー」ノード(合計25ノード)で実行されます。

私の問題は、時々このプログラムを殺したいということです。もう一度ログインして実行しました。

pkill -9 23802

何も起こらないようで、プログラムはすべてのノードで実行され続けます。次に実行して、top -c印刷されたものとは異なるPIDを取得します(なぜ?)nohup bash(例:23844)。私は走ろうとしています。

pkill -9 23844

それでも効果はありません。実行中のすべてのPythonプログラムではなく、このプロセスのみを終了する方法が必要であることに注意してください。つまり、pkill -9 python私にとってはうまくいきません。

関連情報