如何从Cocoa应用程序内部终止进程(而不是自我)

时间:2011-01-07 06:13:17

标签: cocoa

如果Cocoa应用程序需要终止另一个进程(它没有生成),可以在10.5 OS X上使用哪些API来执行此操作?请注意,Cocoa应用程序中将不知道要终止的进程的进程ID。需要终止的过程也是Cocoa过程。

4 个答案:

答案 0 :(得分:2)

使用NSWorkspace或Process Manager查找进程并获取其PID,然后像往常一样使用kill

答案 1 :(得分:2)

Iirc,NSWorkspace只会返回用户自己拥有的进程,但是,当然有很多不同的方法可以解决这个问题:

1。)Document by Appple, QA1123

2。)AGProcess from AGKit

答案 2 :(得分:0)

NSRunningApplication* app = [NSRunningApplication runningApplicationWithProcessIdentifier:pid];
[app terminate]; // ask the target to terminate self
[app forceTerminate]; // the target will not save the data

答案 3 :(得分:0)

您必须在杀死进程ID之前检索进程ID。要杀死进程,只需向其发送信号SIGABT,SIGTERM或SIGKILL。