백그라운드에서 장기 실행 프로세스를 생성 한 다음 쉘 스크립트를 작성하고 싶습니다. SIGTERM을 받으면 모든 서브 프로세스가 종료되기를 바란다.쉘 스크립트를 사용하여 프로세스 생성, SIGTERM에서 자식 종료
기본적으로 "마스터 프로세스"가 필요합니다.
는 여기에 지금까지 가지고있는 작업은 다음과 같습니다
#!/bin/sh
sleep 600 &
PID1="$!"
sleep 600 &
PID2="$!"
# supposedly this should kill the child processes on SIGTERM.
trap "kill $PID1 $PID2" SIGTERM
wait
위의 스크립트가 trap: 10: SIGTERM: bad trap
실패합니다.
편집 :이 스크립트는 제대로 표시 예상대로 나를 위해 작동 우분투 9.04
신호 번호를 사용해야한다고 생각한다면 표준화 된 것만 사용해야합니다. 그러나 나는 당신의 시스템의 신호 이름을 대신 사용하는 것이 가장 좋습니다. – TheBonsai
네 말이 맞아. 나는 이것이 마지막 버전이 되었길 바래 ... – itsadok
당신의 코드이다. 원하는 버전을 많이 가질 수있다 ;-) – TheBonsai