트랩은 HUP/SIGHUP을 포착하지 않습니다.

트랩은 HUP/SIGHUP을 포착하지 않습니다.

다음과 같은 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은 사용자에 의해 호출되지만 사용자가 함수를 호출한 bash 셸 창을 닫으면 on_ql_trap이 호출되지 않고 "foobar"가 기록되지 않습니다.

내가 생각할 수 있는 유일한 것은 trap등록을 위한 올바른 프로세스가 없었다는 것입니다. on_ql_trap프로세스가 종료될 때 호출되도록 보장할 수 있는 방법을 아는 사람이 있습니까 ?

답변1

이유는 모르겠지만 모두 같은 줄에 넣으면 작동하는 것 같습니다.

  trap on_ql_trap EXIT HUP INT QUIT TERM;

관련 정보