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を使用していますか?最新バージョンの問題を修正した可能性があります。