Trap-signal in den child-Prozess im hintergrund

Bin ich nicht Falle ein signal, wenn eine Kind - /hintergrund-Prozess.

Hier ist mein einfaches bash-Skript :

#!/bin/bash

echo "in child"

trap "got_signal" SIGINT

function got_signal {
  echo "trapped"
  exit 0
}

while [ true ]; do
    sleep 2
done

Beim ausführen dieser und später

kill -SIGINT (pid)

Alles funktioniert wie erwartet, druckt er 'gefangen' und wird beendet.

Nun, wenn ich das gleiche script aus einem parent-Skript wie dieses :

#!/bin/bash

echo "starting the child"

./child.sh &

Dann das Kind nicht Falle das signal nicht mehr.... ?

Nach dem Wechsel zu verwenden anstelle von SIGTERM SIGINT, es scheint zu funktionieren, richtig... ?

InformationsquelleAutor Matthieu | 2011-04-13
Schreibe einen Kommentar