Je fais parfois de longs xargs
travaux pendant la nuit et c'est vraiment ennuyeux de découvrir le matin qui est xargs
mort quelque part au milieu, par exemple à cause d'une erreur de segmentation dans un seul cas spécial, comme cela s'est produit cette nuit.
Si même un xargs
enfant est tué, il ne traite plus d'entrée:
Console 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>
Console 2:
[09:35:54] kill 5601
Puis-je empêcher en quelque sorte xargs
de s'arrêter pour traiter plus de données une fois qu'un processus enfant est mort et continuer à la place?
xargs ... bash -c '...;exit 0'
ou mêmexargs ... bash -c '... || echo erk'
parallel -j 1
c'est une solution de piratage possible.
xargs
version 4.4.2debian wheezy
et il semble que tout fonctionne bien même si je tue unsleep
processus spécifique . Quelle versionxargs
utilisez-vous? peut-être qu'ils ont résolu le problème dans la dernière version.