我正在尝试通过在OS X上使用NSTask运行bash“ps”命令来获取进程列表。
当我启用App Sandbox时,应用程序会崩溃并在控制台中出现以下错误:
14.06.14 2:16:35,426 sandboxd[356]: ([74340]) MyApp(74340) deny forbidden-exec-sugid
这个问题有没有解决方案?
代码片段:
NSTask *topTask = [NSTask new];
[topTask setLaunchPath:@"/bin/ps"];
[topTask setArguments:[NSArray arrayWithObjects:
@"-eo", @"pid,pcpu,rss,comm", // output columns
nil]];
proc_pid_rusage
可以完美地获取CPU时间,但是如果激活沙盒,则无论您给出哪个PID,都只能获取自己的CPU时间:( - Axel Zehden