2011-03-03 2 views
3

Ctrl + C를받을 때 프로그램 정리를 처리하는 가장 편리하고 명확한 방법은 무엇입니까?빠른 perl sigint 핸들러

예를 들어 소켓 서버가 이런 식으로 죽으면 TCP 소켓이 절대로 닫히지 않습니다. 프로그램을 종료하기 전에 sigint 핸들러 (또는 atexit와 같은)를 설정하여 특정 소켓을 닫거나 (다른 종류의 정리를 수행하는) 프로그램 맨 위에 놓을 수있는 좋은 라이너를 원합니다.

답변

6

%SIG 해시를 통해 신호 처리기를 할당하여 신호를 처리하기 쉽습니다. 자세한 내용은 perlipc에서 확인할 수 있습니다.

+1

빠른 예 : $ SIG {INT} = sub {print "oops"}; – Naveed

6

sigtrap보다 더 빠르고 편리하고 명확하지 않을 수 있습니다.

+0

와우. 난 몰랐어. 좋아 보인다. – musiKk

+0

하나 이상의 답변을 수락하고 싶습니다. –