この並列コマンドはどのホストにかかっていますか?

この並列コマンドはどのホストにかかっていますか?

次の並列コマンドを実行します。

parallel -q -j0 ssh {} 'echo {}; tmp/myscript' ::: host1 host2 host3 ....

上記の行には、ほとんどのホストの結果が表示されます。

残念ながら、一部のホストでは並列コマンドが中断されます。スクリプトが無限ループに陥ったようです。

どのホストにかかっているのか、どうすればわかりますか?

すべてのホストにアクセス可能です。私はこれを次のコマンドでテストしました。

parallel -q -j0 ssh {} 'echo {}; date' ::: host1 host2 host3 ....

ベストアンサー1

以下を使用します--timeout 1000%。ジョブが通常の実行時間より10倍長くなると、そのジョブを終了します。

--joblog mylog次に、どのタスクがタイムアウトしたかを確認するために使用します(exit val = -1)。

また--nonall、(代わりに-q ssh)とを使用して、--tagどのタスクが完了したかを確認し、どのタスクが中断されたかを推測することもできます。

おすすめ記事