트랩 그놈 터미널 닫기 버튼

트랩 그놈 터미널 닫기 버튼

Bash 명령을 사용하여 창 exit에서 명령을 트랩할 수 있지만 사용자가 터미널 창에 입력하는 경우에만 작동합니다. 대신 사용자가 닫기 버튼을 클릭하면 트랩 종료 핸들러가 실행되지 않습니다.gnome-terminaltrapexit

배경 정보: 사용자가 닫기 버튼을 클릭하면 Bash 기록을 사용자 정의 기록 파일에 저장하고 싶습니다. 나는 를 사용했는데 export HISTFILE=/tmp/custom.hist, 이것은 많은 경우에 작동하지만(사용자가 그놈 터미널에서 닫기 버튼을 클릭하면 기록이 주어진 파일에 저장됩니다) 어떤 경우에는 기록이 저장되지 않으므로 다음 대안을 찾고 있습니다. 환경변수 설정 HISTFILE..

답변1

SIGHUP을 트랩하고 싶습니다.

에서 man 7 signal:

SIGHUP        1       Term    Hangup detected on controlling terminal or death of controlling process

따라서 SIGHUP과 EXIT를 모두 트랩하려면 다음을 수행하십시오.

trap 'export HISTFILE=/tmp/custom.hist' 1 EXIT

또는:

trap 'export HISTFILE=/tmp/custom.hist' SIGHUP EXIT

답변2

모든 명령 후에 기록 파일을 저장할 수 있습니다. 이 트릭은 일반적으로 여러 창의 기록을 동기화하는 데 사용되지만 귀하의 경우에도 작동합니다. 예를 들어,이 답변

관련 정보