Я хочу написать сценарий оболочки, который порождает несколько длительных процессов в фоновом режиме, а затем зависает. Получив SIGTERM, я хочу, чтобы все подпроцессы также прекращались.сценарий оболочки для запуска процессов, завершение дочерних элементов на SIGTERM
В принципе, я хочу «мастер-процесс».
Вот что я получил до сих пор:
#!/bin/sh
sleep 600 &
PID1="$!"
sleep 600 &
PID2="$!"
# supposedly this should kill the child processes on SIGTERM.
trap "kill $PID1 $PID2" SIGTERM
wait
Данный скрипт завершается с trap: 10: SIGTERM: bad trap
.
Edit: Я использую Ubuntu 9.04
Если вы считаете, что вам нужно использовать номера сигналов, вы должны использовать только стандартные. Но я стараюсь использовать вместо этого имена сигналов вашей системы. – TheBonsai
Вы правы. Я надеюсь, что это последняя версия ... – itsadok
Ну, это ваш код, у вас может быть столько версий, сколько нужно ;-) – TheBonsai