我有一个现有的“命令行工具”项目。 此工具永远运行,直到用户关闭终端。 当应用程序终止时,没有任何方法可以调用。如何在此项目中设置applicationWillTerminate,如delegate方法。 当用户在终端窗口点击关闭时,需要接收通知。
当用户通过按CTRL + C退出命令时,是否有任何方法可以获得通知?
答案 0 :(得分: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,也可能有用。