Сценарий оболочки убивает фоновый процесс при выходе - PullRequest
2 голосов
/ 18 января 2012

У меня есть такой скрипт:

#!/bin/sh
exec ./cmd1&
exec ./cmd2

Если я убью скрипт, только cmd2 будет убит, cmd1 продолжит работу. Возможно ли, что оба процесса завершатся автоматически?

1 Ответ

3 голосов
/ 18 января 2012

не делайте второй exec (первый тоже избыточен), но оставьте оболочку ждать его.убийство оболочки может убить команды;если нет - то:

    trap 'kill -15 $kids; exit 143' TERM
    cmd1 &
    kids=$!
    cmd2 &
    kids="$kids $!"
    wait
...