HUP/SIGHUP 캡처가 bash 스크립트에서 작동하지 않습니다.

HUP/SIGHUP 캡처가 bash 스크립트에서 작동하지 않습니다.

이 bash 스크립트가 있습니다. https://gist.github.com/ORESoftware/06dbb26a48d2ddf48a5a2166834e0836

ql_acquire_lock쉘을 호출할 때 mkdir디렉토리를 호출할 수 있으면 잠금을 획득합니다. 내가 그것을 호출하면 ql_release_lock디렉토리, 간단한 내용이 삭제됩니다.

이제 ql_acquire_lock호출되면 다음이 호출됩니다.

트랩 ql_on_trap 종료 트랩 ql_on_trap SIGHUP 트랩 ql_on_trap 0

이론적으로 이러한 신호 중 하나라도 수신되면 다음과 같이 ql_release_lock호출됩니다.

이것질문이 있어요문제는 터미널 창을 닫을 때 스크립트가 SIGHUP 또는 0 신호를 포착하지 못한다는 것입니다. my는 사용자가 SIGINT를 발행할 때 호출되며, trap가장 확실하게는 EXIT를 통해 호출됩니다. 그러나 사용자가 터미널 창(SIGHUP을 보내야 한다고 생각함)을 닫으면 내 스크립트가 trap신호를 포착하지 못합니다. 왜 이런 일이 일어나는지 아는 사람이 있나요?

관련 정보