在我的Cocoa应用程序中,我正在检测可见窗口,并获得其所有者的PID。然后,对于每个PID,我创建NSRunningApplication对象(使用runningApplicationWithProcessIdentifier:)以获取附加信息(本地化名称、路径、属性等)。
在我尝试用PID 88创建属于(在我的例子中) Window Server的NSRunningApplication之前,一切都运行得很好。它只是不创建对象,且根据Apple手册,它返回nil -换句话说:没有使用该PID进程。
这怎么可能呢?如果它不存在,我就不能得到它的PID,ps也不会显示它。
有什么建议吗?
发布于 2011-12-07 00:34:16
在documentation中(增加了重点):
概述
NSRunningApplication是一个类,用于操作和提供应用程序的单个实例的信息。仅跟踪用户应用程序;这不会提供有关系统上每个进程的信息。
发布于 2011-12-07 00:09:26
window服务器不是用户进程。如果它在管理员权限下不起作用,那么您将根本不能这样做。
https://stackoverflow.com/questions/8403020
复制相似问题