2013-04-12 92 views
2

我有一個現有的「命令行工具」項目。 該工具將永久運行,直到用戶關閉終端。 當應用程序終止時,沒有任何方法會被調用。如何在此項目中設置applicationWillTerminate,如委託方法。 需要在用戶單擊終端窗口上的關閉時收到通知。Mac OS X的命令行應用程序

當用戶按下CTRL + C來退出命令時,還有什麼辦法可以獲得通知嗎?

回答

4

你應該能夠捕獲來自Unix的信號。

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

然後定義的信號處理程序:void SignalHandler(int signum) { ... }

這裏是一個example

你也可以閱讀signal handling,它應該有所幫助。即使它適用於iOS,This也可能有用。

相關問題