A veces ejecuto xargstrabajos largos durante la noche y es realmente molesto descubrir en la mañana que xargsmurió en algún punto intermedio, por ejemplo, debido a una falla de segmentación en un solo caso especial, como sucedió esta noche.
Si incluso un xargsniño es asesinado, no procesa más entradas:
Consola 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>
Consola 2:
[09:35:54] kill 5601
¿De alguna manera puedo evitar que se xargsdetenga para procesar más entradas una vez que un proceso secundario falle y en su lugar continúe procesando?
xargs ... bash -c '...;exit 0'o incluso?xargs ... bash -c '... || echo erk'
parallel -j 1es una posible solución de pirateo.
xargsversión 4.4.2debian wheezyy parece que todo funciona bien incluso si elimino unsleepproceso específico . ¿Qué versión dexargsestás usando? Es posible que hayan solucionado el problema en la última versión.