En mi script dividí un conjunto de datos en input_aa, input_ab, etc. Luego, ejecuto cada uno a través del mismo script Python, como tal:
# Execute program on each split file
for part in input_*; do
python3 $part &
done
wait
Mi pregunta es doble: ¿cómo detecto que un proceso de Python ha fallado y, cuando lo detecto, cómo mato a todos los niños engendrados y salgo del script con un error?
bash
,dash
,yash
,mksh
,zsh
. Básicamente cualquier shell POSIX pero AT&T ksh.set -m
se especifica (debajo de) en POSIX pero como una característica opcional.kill 0
mata a todos los miembros del grupo de proceso, sea cual sea su padre. Consulteps -j
para ver los ID de grupo de proceso.