을 열 때 나는이 간단한 bash는 스크립트가 신호에 응답하지 않습니다 내 배쉬 스크립트 :새로운 쉘 세션
#!/bin/bash
trap "rm /testfile; service apache2 stop;" SIGTERM
service apache2 start
# Here I want to create new bash session for some reasons.
/bin/bash
지금은 somewhen이 스크립트에 SIGTERM
하지만 을 보낼 수있는 또 다른 프로그램은 실제로 스크립트는하지 않습니다 일부 그 신호에 응답하면, 새로운 bash 세션 (새로운 bash 세션이 필요하기 때문에 시험을위한 것임)을 여는 대신 sleep infinity
과 같은 다른 것을 사용할 때와 마찬가지로 새로운 bash 세션에 매달려 있습니다.
어떻게이 스크립트가 해당 SIGTERM에 응답 할 수 있습니까? 새 bash 세션이 어떻게 종료되는지는 중요하지 않습니다. 단지 trap
에 쓰여진 내용이 실행되도록하고 싶습니다.
@Fred는 다음과 같이 말합니다. 본질적으로'trap '앞에'service apache2 start'를 실행하고 있습니다 rm/testfile; service apache2 stop; " SIGTERM'는 이제까지 불렀다. 'trap'에'start'를 포함하고 싶을 것입니다. 아마'trap'을'stop' ('rm')과'start'를 동시에 수행하는 헬퍼 스크립트를 호출하는 것이 가장 좋습니다. (두 번째'/ bin/bash'가 도움이되지 않습니다.) –
달성하고자하는 것은 무엇입니까? 왜 다른 프로세스는이 스크립트가 Apache를 멈추게하기 위해이 스크립트에 신호를 보내는 대신 Apache를 중지하지 않는 것입니까? – Fred
이것을 확인하십시오 - http://unix.stackexchange.com/questions/146756/forward-sigterm-to-child-in-bash –