我正在尝试获取所有正在运行的应用程序包的列表。用户已启动的 GUI 应用程序,如 Dock 正在显示,或活动监视器(它在某些进程旁边显示一个图标)。我发现我可以使用sysctl()
withKERN_PROC_ALL
来获取所有正在运行的进程的列表,但这不会告诉我它们来自哪个应用程序包。像 Minecraft 这样的应用程序只是显示出来java
,这不是很有用。
我确实发现活动监视器中的进程组名称大致显示了我想知道的内容:
实现语言并不重要。目前使用 C 语言工作,但如果需要其他一些环境,那不是问题。我想要做的就是检测用户正在运行哪些应用程序,以便我可以记录每个应用程序的使用时间。(家长控制做了类似的事情,但将其记录在我无法解析的 plist 文件中)
皈依舞
相关分类