Voglio scrivere uno script di shell che genera diversi processi a esecuzione prolungata in background, quindi si blocca. Alla ricezione di SIGTERM, voglio che anche tutti i sottoprocessi terminino.script di shell per generare processi, terminare i bambini su SIGTERM
Fondamentalmente, voglio un "processo master".
Ecco quello che ho ottenuto finora:
#!/bin/sh
sleep 600 &
PID1="$!"
sleep 600 &
PID2="$!"
# supposedly this should kill the child processes on SIGTERM.
trap "kill $PID1 $PID2" SIGTERM
wait
Lo script di cui sopra non riesce con trap: 10: SIGTERM: bad trap
.
Edit: sto usando Ubuntu 9.04
Se pensi di dover usare i numeri di segnale, dovresti usare solo quelli standardizzati. Ma preferisco usare i nomi dei segnali del tuo sistema. – TheBonsai
Hai ragione. Spero che questa sia l'ultima versione ... – itsadok
Bene, è il tuo codice, puoi avere tutte le versioni che desideri ;-) – TheBonsai