Eu tenho este script bash: link
quando eu chamo ql_acquire_lock
em um shell, se eu posso chamar mkdir
em um diretório, então eu adquiro esse bloqueio. Quando eu chamo ql_release_lock
, ele remove o diretório, coisas simples.
Agora, quando ql_acquire_lock
é chamado, ele chama:
armadilha ql_on_trap SAÍDA armadilha ql_on_trap SIGHUP armadilha ql_on_trap 0
se algum desses sinais for recebido, em teoria, então ql_release_lock
será chamado:
o problema que tenho é quando fecho uma janela de terminal, meu script NÃO captura o sinal SIGHUP ou 0. Quando o usuário emite SIGINT, meu trap
é invocado, certamente pelo EXIT. Mas quando o usuário fecha a janela do terminal (acredito que deve enviar um SIGHUP) o trap
do meu script não captura o sinal. Alguém sabe por que isso seria?
Tags bash signals shell-script trap sighup