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
}
답변1
kill
올바른 PID를 사용하고 있는지 확인하려면 다음을 시도해 보십시오 .
./command1 &
childpid=$!
trap "kill -TERM ${childpid}" EXIT
답변2
GNU Parallel은 ctrl-c를 존중합니다. 따라서 다음을 실행할 수 있습니다.
parallel ::: ./command1 /path/to/bash2