我有一个需要获取进程列表的cocoa应用程序。启用应用程序沙盒后,我得到/bin/ps: Operation not permitted
。还有另一种方法可以与app沙盒兼容吗?我是通过NSTask
答案 0 :(得分:1)
您无法从沙箱中运行ps
,因为它是一个set-uid根程序。
没有其他记录的方法来获取进程列表。但是,libproc.h
中描述了一个未记录的API。我不确定你是否可以在沙盒中使用它,但值得一试。
答案 1 :(得分:0)
您可以使用[[NSWorkspace sharedWorkspace] runningApplications]获取所有进程的列表。这将返回一个NSRunningApplications数组。
https://developer.apple.com/reference/appkit/nsworkspace https://developer.apple.com/reference/appkit/nsworkspace/1534059-runningapplications https://developer.apple.com/reference/appkit/nsrunningapplication