Убейте обе команды, которые запускаются одновременно в bash

Я хочу запустить две команды одновременно в сценарии bash (один из них – еще один сценарий bash), и мне нужно, чтобы оба они остановились, когда я нажимаю Ctrl + C. Мой скрипт bash теперь:

#!/bin/bash ./command1 & exec "/path/to/bash2" 

и в bash2:

 #!/bin/bash [..] python run.py 

Должен ли я добавить ловушку, чтобы убить обе команды? Если это так, добавление следующего в bash не помогло

 trap killgroup SIGINT killgroup(){ echo killing... kill 0 } 

One Solution collect form web for “Убейте обе команды, которые запускаются одновременно в bash”

Попробуйте это, чтобы убедиться, что вы kill правильный PID:

 ./command1 & childpid=$! trap "kill -TERM ${childpid}" EXIT 
  • Функция Shell, чтобы проверить, есть ли приостановленный процесс, являющийся дочерним элементом этой оболочки?
  • Как использовать / отправлять сигналы в командной строке для любой программы (например, dd)
  • Как сохранить подсказку в фоновом режиме?
  • Запуск нескольких программ в фоновом режиме и проверка их возвращаемого значения
  • автоматически отключать приложение при его запуске с терминала
  • Как узнать, закончилась ли фоновая работа?
  • фоновая работа продолжает останавливаться
  • Четыре задачи параллельно ... как это сделать?
  • Диалог - Продолжить в фоновом режиме
  • В чем разница между && и; при разрыве сна на фоне?
  • Странная проблема с ловушкой и SIGINT
  • Linux и Unix - лучшая ОС в мире.