xargs
夜間に長時間仕事をすることもありますが、午前xargs
中にどこかで途中で死亡したことを発見するのは本当に迷惑です。たとえば、今夜のように1つの特別なケースでセグメンテーションエラーが発生したためです。
1人のxargs
子でも殺された場合、それ以上の入力は処理されません。
コンソール1:
[09:35:48] % seq 40 | xargs -i --max-procs=4 bash -c 'sleep 10; date +"%H:%M:%S {}";'
xargs: bash: terminated by signal 15
09:35:58 3
09:35:58 4
09:35:58 2
<Exit with code 125>
コンソール2:
[09:35:54] kill 5601
xargs
子プロセスが終了すると、入力の処理を停止することをどうにかして防ぐことができますか?
xargs ... bash -c '...;exit 0'
xargs ... bash -c '... || echo erk'
parallel -j 1
はハッキングの可能性があることに注意してください。
xargs
バージョン4.4.2 を使用しdebian wheezy
ていますが、特定のsleep
プロセスを強制終了してもすべてが正常に実行されるようです。どのバージョンxargs
を使用していますか?最新バージョンの問題を修正した可能性があります。