gpt4 book ai didi

objective-c - 无法在 Cocoa 中找到正在运行的应用程序

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:46 25 4
gpt4 key购买 nike

我正在使用以下代码获取 Cocoa 中正在运行的应用程序列表:

for (NSRunningApplication *app in [[NSWorkspace sharedWorkspace] runningApplications]) {
MNSLog(@"%@",[app localizedName]);
}

但是,我从终端 session 启动的应用程序没有出现在列表中(“终端”很好地出现了)。该应用程序是从执行 cocoa 代码的同一用户启动的。

我启动的应用程序是在 Terminal 下吗?在这种情况下,我如何才能找到它的名称和参数?

在另一个终端 session 中运行 ps 可以正确显示我的进程。

最佳答案

使用NSTask 执行ps Shell 命令。您可以查看 ps 手册页,根据您想要返回的信息来确定要传递给它的参数。使用 NSPipeNSFileHandle 从任务中获取结果。

如果你想做一些过滤,你可以在你的应用程序获取结果之前通过 grep 管道输出 ps

对于你的第一个问题,我认为 NSWorkspace 只能看到使用窗口服务器的应用程序,所以你只会看到终端,而不是它在内部运行的可执行文件。

关于objective-c - 无法在 Cocoa 中找到正在运行的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20033086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com