trap não está pegando HUP / SIGHUP [duplicado]

0

Eu tenho essa função bash:

on_ql_trap(){
  echo "foobar" > "$HOME/.quicklock/debug.json"
}

ql_trap(){
  trap on_ql_trap EXIT;
  trap on_ql_trap 0;
  trap on_ql_trap SIGHUP;
  trap on_ql_trap HUP;
}

ql_trap é chamado pelo usuário, mas quando o usuário fecha a janela do bash shell que chamou a função, on_ql_trap nunca é chamada, veja pelo fato de que 'foobar' nunca é escrito.

a única coisa em que consigo pensar é que trap não está sendo registrado para o processo correto ou algo assim. Alguém sabe como posso garantir que on_ql_trap será chamado quando o processo terminar?

    
por Alexander Mills 20.04.2018 / 01:22

1 resposta

0

Não sei por que, mas se eu colocá-los todos na mesma linha, parece funcionar:

  trap on_ql_trap EXIT HUP INT QUIT TERM;
    
por 20.04.2018 / 01:49