2013-04-12 2 views
2

기존 "명령 줄 도구"프로젝트가 있습니다. 이 도구는 사용자 닫기 터미널까지 영원히 실행됩니다. 응용 프로그램이 종료 될 때 호출 될 메서드가 없습니다. 이 프로젝트에서 delegate 메소드처럼 applicationWillTerminate를 어떻게 설정할 수 있습니까? 사용자가 터미널 창에서 닫기를 클릭하면 알림을받을 필요가 있습니다.Mac OS X 용 명령 줄 응용 프로그램

사용자가 Ctrl + C를 눌러 명령을 종료 할 때 알림을받을 방법이 있습니까?

답변

4

유닉스에서 신호를 걸러 낼 수 있어야합니다. 여기 void SignalHandler(int signum) { ... }

example 같습니다

signal(SIGABRT, SignalHandler); 
signal(SIGILL, SignalHandler); 
signal(SIGSEGV, SignalHandler); 
signal(SIGFPE, SignalHandler); 
signal(SIGBUS, SignalHandler); 
signal(SIGPIPE, SignalHandler); 

그러면 신호 처리기를 정의한다.

또한 signal handling에서 읽을 수 있습니다. 도움이 될 것입니다. This도 iOS 용으로 유용 할 수 있습니다.