Quiero escribir un script de shell que genere varios procesos de larga ejecución en segundo plano, y luego se cuelga. Al recibir SIGTERM, quiero que todos los subprocesos terminen también.script de shell para generar procesos, finalizar hijos en SIGTERM
Básicamente, quiero un "proceso maestro".
Esto es lo que tengo hasta ahora:
#!/bin/sh
sleep 600 &
PID1="$!"
sleep 600 &
PID2="$!"
# supposedly this should kill the child processes on SIGTERM.
trap "kill $PID1 $PID2" SIGTERM
wait
El script anterior falla con trap: 10: SIGTERM: bad trap
.
Editar: Estoy usando Ubuntu 9.04
. Si crees que debes usar números de señal, solo debes usar los normalizados. Pero sigo para utilizar los nombres de señal de su sistema. – TheBonsai
Tienes razón. Espero que esta sea la última versión ... – itsadok
Bueno, es tu código, puedes tener tantas versiones como quieras ;-) – TheBonsai