![HUP/SIGHUP 캡처가 bash 스크립트에서 작동하지 않습니다.](https://linux55.com/image/129528/HUP%2FSIGHUP%20%EC%BA%A1%EC%B2%98%EA%B0%80%20bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
이 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
신호를 포착하지 못합니다. 왜 이런 일이 일어나는지 아는 사람이 있나요?