encabezado principal PADRES ANTES DE LA ESCRITURA bucle principal :::
#Catch control-c and clean up testd instances if necessary
cleanup() {
clear
echo "Caught Signal. Shutting Down MAIN."
if [ "$MAIN_on" -eq 1 ]
then
M_shutdown
fi
exit 1
}
En el cuerpo principal de la secuencia de comandos, como desovar subprocesos que mantener una matriz con los identificadores de cada proc. Para cargar el PID en la matriz, establezca el valor en el último proceso generado, p. pon lo siguiente después de cada spawn sub-shell.
proc_id_array[1]=$!
Contenido del M_shutdow serían algo así como ...
M_shutdown() {
if [ "$MAIN_on" -eq 1 ]
then
echo "Stopping Main"
echo "shutting down active subscripts"
count_proc_id=1
while [ "$count_proc_id" -lt "$max_proc_id" ]
do
kill ${proc_id_array[$count_proc_id]} > /dev/null 2>&1
DATE=$(date +%m%d%y-%k:%M)
echo "$DATE: ${proc_name_array[$count_proc_id]} \(PID: ${proc_id_array[$count_proc_id]}\) stopped." >> $logfile
proc_id_array[$count_proc_id]="A"
count_proc_id=`expr $count_proc_id + 1`
done
echo "MAIN stopped"
MAIN_on=0
sleep 5
else
echo "MAIN already stopped."
sleep 1
fi
}
Sería útil si muestra ejemplos específicos de un padre y un hijo abreviados. –
Consulte mi respuesta en su otra pregunta para una posible solución. http://stackoverflow.com/questions/2524937/how-to-send-a-signal-sigint-from-script-to-script-bash –