OSX 内置强制退出应用程序如何获取其应用程序列表?

Posted

技术标签:

【中文标题】OSX 内置强制退出应用程序如何获取其应用程序列表?【英文标题】:How OSX Built-in Force Quit Application Get its app list? 【发布时间】:2015-10-05 08:53:12 【问题描述】:

我正在尝试获取所有正在运行的具有窗口界面的应用程序,并且我发现强制退出应用程序实用程序中的应用程序列表非常理想。

但我不知道如何实现它,尝试过NSWorkSpace,它为我提供了所有正在运行的应用程序,包括很多其他应用程序。

那么如何归档这个函数呢?谢谢你的帮助!!

【问题讨论】:

【参考方案1】:

我决定仍然使用NSWorkspace.runningApplications,但使用Bundle URL 字段和ownsMenuBar 使用一些预定义的规则过滤结果。

这几天有点忙,但我会尽快尝试后发布我的结果。这是一个有用的示例应用程序:https://developer.apple.com/library/mac/samplecode/AppList/

【讨论】:

【参考方案2】:

谢谢,sayen,这对我很有用。

这是我用来强制退出 After Effects 的 Swift 代码:

let runningApps = NSWorkspace.sharedWorkspace().runningApplications
if let aeApp = runningApps.filter(  ($0.bundleIdentifier != nil) && ($0.bundleIdentifier! == "com.adobe.AfterEffects") ).first 
    aeApp.forceTerminate()

请注意,在 Swift 中,包标识符是可选的。

【讨论】:

以上是关于OSX 内置强制退出应用程序如何获取其应用程序列表?的主要内容,如果未能解决你的问题,请参考以下文章

mac强制退出windowserver

OSX - 如何在“退出”命令执行后自动关闭终端窗口。

windows下如何取得完整的已安装程序列表

OSX 如何判断用户何时插入/拔出带有内置麦克风的耳机

获取 NodeJS 程序退出码

有没有办法*真的*强制 pydev 使用强制内置?