Mate os dois comandos que são executados simultaneamente no bash

1

Eu quero executar dois comandos simultaneamente no script bash (um deles é outro script bash) e preciso que os dois parem quando eu pressionar Ctrl + C. Meu script bash agora é:

#!/bin/bash

./command1 &

exec "/path/to/bash2" 

e no bash2:

#!/bin/bash

[..]
python run.py

Devo adicionar uma armadilha para matar os dois comandos? Se assim for, adicionando o seguinte no bash não ajudou

trap killgroup SIGINT

killgroup(){
  echo killing...
  kill 0
}
    
por Voila 03.05.2017 / 11:47

1 resposta

1

Tente isso para garantir que você está kill -ing o PID correto:

./command1 &
childpid=$!
trap "kill -TERM ${childpid}" EXIT
    
por 03.05.2017 / 19:23