다음과 같은 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;