Chcę napisać skrypt powłoki, który odradza kilka długotrwałych procesów w tle, a następnie rozłącza się. Po otrzymaniu SIGTERM, chcę, aby wszystkie podprocesy również się zakończyły.Skrypt powłoki do odradzania procesów, kończenia dzieci na SIGTERM
Zasadniczo chcę "proces główny".
Oto co mam do tej pory:
#!/bin/sh
sleep 600 &
PID1="$!"
sleep 600 &
PID2="$!"
# supposedly this should kill the child processes on SIGTERM.
trap "kill $PID1 $PID2" SIGTERM
wait
Powyższy skrypt nie działa z trap: 10: SIGTERM: bad trap
.
Edycja: używam Ubuntu 9.04
Jeśli uważasz, że musisz używać numerów sygnałów, powinieneś używać tylko tych standardowych. Ale polecam zamiast tego używać nazw sygnałów z twojego systemu. – TheBonsai
Masz rację. Mam nadzieję, że to jest ostatnia wersja ... – itsadok
Cóż, to twój kod, możesz mieć tyle wersji, ile chciał ;-) – TheBonsai