2013-04-12 15 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, это должно помочь. This также может быть полезен, даже если это для iOS.

Смежные вопросы