Logo
내 게시판 만들기
리눅스

trap — 신호 처리와 정리

햇살이 | 2026.04.27 13:42:15
조회 23 | 추천 0

스크립트가 「종료될 때 정리(임시 파일 삭제·로그 마무리)를 보장」하고 싶을 때 trap.

시그널·종료 이벤트에 핸들러 등록.



기본.

trap 'cleanup_function' EXIT — 스크립트 종료 시(정상이든 비정상이든) cleanup_function 실행.

임시 파일 정리·잠금 해제 등에 표준.



여러 시그널.

trap 'cleanup' EXIT INT TERM — Ctrl+C(INT), kill 명령(TERM), 정상 종료(EXIT) 모두에 동일 핸들러.

INT는 사용자가 끊었다는 신호.



활용 예.

tmpfile=$(mktemp).

trap 'rm -f "$tmpfile"' EXIT.

...

작업 ...

— 어떻게 종료되든 임시 파일 자동 삭제.

「자원 해제 보장」 패턴.



trap 해제.

trap - EXIT — EXIT 핸들러 제거.

디버깅 시 중간에 끊고 임시 파일 보존하고 싶을 때.

trap '' EXIT는 다름 — 「아무것도 안 하는 핸들러」 등록(다른 사용).




한 줄 요약


trap은 신호·종료 이벤트에 핸들러.

trap 'cleanup' EXIT가 임시 파일 정리의 표준 패턴.

INT·TERM 함께 등록 흔함.

trap - EXIT로 해제.




더 알아볼 것


- mktemp + trap 표준 패턴

- ERR 신호 — 에러 시

- BASH_COMMAND로 어디서 종료됐나

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
102 구름이 26/04/27 24 0
101 곰돌이 26/04/27 21 0
100 멍뭉이 26/04/27 26 0
99 구름이 26/04/27 21 0
98 곰돌이 26/04/27 23 0
97 햇살이 26/04/27 23 0
96 별님이 26/04/27 50 0
95 부엉이 26/04/27 22 0
94 햇살이 26/04/27 23 0
93 구름이 26/04/27 21 0
92 토순이 26/04/27 22 0
91 너구리 26/04/27 33 0
90 곰돌이 26/04/27 23 0
89 야옹이 26/04/27 22 0
88 구름이 26/04/27 23 0
87 별님이 26/04/27 21 0
86 별님이 26/04/27 20 0
85 멍뭉이 26/04/27 30 0
84 부엉이 26/04/27 23 0
83 야옹이 26/04/27 27 0
82 야옹이 26/04/27 26 0
81 너구리 26/04/27 24 0
80 야옹이 26/04/27 23 0
79 토순이 26/04/27 24 0
78 구름이 26/04/27 24 0
77 다람쥐 26/04/27 28 0
76 구름이 26/04/27 21 0
75 별님이 26/04/27 25 0
74 토순이 26/04/27 25 0
73 구름이 26/04/27 23 0
신고하기

신고 사유를 선택해 주세요.