A veces ejecuto xargs
trabajos largos durante la noche y es realmente molesto descubrir en la mañana que xargs
murió 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 xargs
niñ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 xargs
detenga 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 1
es una posible solución de pirateo.
xargs
versión 4.4.2debian wheezy
y parece que todo funciona bien incluso si elimino unsleep
proceso específico . ¿Qué versión dexargs
estás usando? Es posible que hayan solucionado el problema en la última versión.