即使应用程序崩溃,也要终止NSTask

Enc*_*ada 6 cocoa objective-c

如果我的应用程序崩溃我没有机会终止它产生的NSTasks,所以他们留在吃掉资源.

是否有任何方法可以启动任务,以便在您的应用程序终止时终止(即使它崩溃)?

use*_*681 3

我想您需要手动处理应用程序崩溃并以不同的方式终止生成的进程。例如,您可以检查以下文章http://cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html,并在应用程序崩溃时在异常/信号处理程序中使用kill(pid)向子进程发送终止信号,SIGKILL),但为此,您还需要将子进程的 pid(NSTask - (int)processIdentifier)保存在某处,以便从异常/信号处理程序中获取它。