У меня есть сценарий оболочки bash S1
, который запускает другой сценарий оболочки S2
(содержит только sleep 20
) синхронно, то есть на переднем плане.
Я хочу следующее:
Когда я отправляю SIGTERM или SIGINT на S1
, оба S1
и S2
должны прекратиться.
На самом деле это работает, если я запускаю S1
в командной строке на переднем плане и если я нажимаю CTRL-C (независимо от того, ловлю ли я SIGINT в сценариях явно или нет).
Когда я запускаю S1
в фоновом режиме, а затем отправляю ему сигнал SIGINT с kill -s SIGINT $!
, пока S2
не прекратит свою нормальную обработку, то есть S2
не прервется.
Мой вариант использования - последний, и мне нужен способ прервать как S1
, так и S2
, отправив сигнал только на S1
.