objective-c - 后台进程的目标 C 代码
问题描述
我使用 NSApplication 和 NSWorkspace 来获取正在运行的应用程序列表。
但它只给我从管理员那里激活的应用程序,而不是在后台运行的根进程。
我想获取所有正在运行的进程的列表,并在新进程产生后立即更新该列表。
我不喜欢使用NSTask
和解析输出。
有解决办法吗?
NSArray * runningapps = [[NSWorkspace sharedWorkspace] runningApplications];
解决方案
要访问根进程列表,您需要执行与ps
命令非常相似的操作。如果你想去,去研究这个工具的源代码:
https://opensource.apple.com/source/adv_cmds/adv_cmds-172/ps/
但是,正如您所看到的,这并不容易。因此,如果您不想重新发明轮子,我只需解析ps
命令的输出,grep
否则您将需要编写自己的代码来做您想做的事情。
推荐阅读
- ios - MPMusicPlayerControllerNowPlayingItemDidChange 是不可预测的
- ansible - ansible 中的嵌套循环 - Vcloud director
- python - Pyinstaller 和 PyQt5 macOS Mojave 兼容性问题
- ios - 使用一个浮动标题查看多个部分
- c# - 重定向自定义用户控件中的按钮单击时的设计器错误
- android - Firebase 存储 - 检索和显示图像
- amazon-web-services - 如何在不显示我的 s3 链接而是保持烧瓶 url 路由的情况下路由到我的 S3 实例?
- python - 如何在 Python 中从 xml 字符串中获取节点值
- c - arm中mcontext_t的error_code的含义
- c++ - 在 Visual Studio 中将源文件推送到 bitbucket