在Mac OS X中从命令行查找所有不响应的任务?

可悲的

我知道我可以这样做,ps -aux | xargs kill但我想列出所有未响应的任务的PID(“活动监视器”中的红色)。我可以在终端中执行什么命令来列出这些红色的,无响应的任务,并自动终止它们。

Caleb Xu

有人已经在“如何确定应用程序是否没有响应?”中提出了几乎相同的问题(确定哪些进程不响应是困难的部分,杀死它们很容易)。我在这里引用了一个相关的答案:

“无响应”状态不是进程状态,而是进程已停止与窗口管理器/图形引擎的通信。可以将它绑在一个循环中,挂在套接字,远程文件上,任何使它返回到处理事件的主循环的东西都可以。窗口管理器注意到事件正在排队,因此将其标记为“未响应”

您可能需要编写一个小的X11程序,该程序将虚拟事件发送到该进程,然后在没有响应的情况下将其杀死。

因此,要确定哪些程序没有响应是不可能的,至少在没有大量采用AppleScript / X11逻辑的情况下是不可能的。

如果您很好奇,这小段AppleScript(为Mavericks设计,可能无法在其他任何版本上使用)也已发布在链接的线程上,基本上可以识别所有无响应的程序,然后向KILL它们发送信号:

tell application "Activity Monitor" to run  --We need to run Activity Monitor
tell application "System Events" to tell process "Activity Monitor"
     tell radio button 1 of radio group 1 of group 1 of toolbar 1 of window 1 to click --Using the CPU View 
     tell outline 1 of scroll area 1 of window 1 -- working with the list 
         set notResponding to rows whose value of first static text contains "Not Responding" -- Looking for Not responding process
         repeat with aProcess in notResponding
             set pid to value of text field 5 of aProcess  -- For each non responding process retrieve the PID 
             if pid is not "" then do shell script ("kill -9 " & pid) -- KILL the PID. 
         end repeat
     end tell
end tell

但是,如果你已经确定要充当了一个应用程序,你可以杀死它的所有实例sudo killall [AppName],例如sudo killall "Activity Monitor"您可以使用标识单个应用程序的PID pgrep [AppName],例如pgrep "Google Chrome",也可以使用杀死所有生成的PID kill [PID]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从命令行Mac OS X编辑文件?

在Mac OS X中从命令行在文件上执行“获取信息”

从命令行打开新终端并在Mac OS X上运行命令?

从命令行打开新的终端选项卡(Mac OS X)

我可以从命令行引导到另一个Mac OS X分区吗?

从命令行运行Unity3d时,Mac OS X的-nographics替代品吗?

如何在Mac OS X中通过命令行从metapackage安装单个软件包?

在Mac OS X中通过键盘快捷键或命令行更改主显示

在Mac OS X中通过命令行重新映射键

Mac OS X中的命令行终端显示了错误的Java版本

在Mac OS Lion上从命令行启动MySQL服务器

Mac OS Mac Ports 删除了 bash(没有可用的命令行)

无法在Mac OS上使用Go命令行

在Mac OS X中使用命令行“ zip”工具递归压缩目录和子目录中的文件,并从所有子文件夹中排除.DS_Store文件

在带有rvm的Mac OS X上使用命令行gem'github-pages-health-check'失败

Mac OS X在Ubuntu中“说”命令?

Mac OS X中命令的重击完成

在Mac OS X上将SVG转换为PNG的命令行应用程序

如何使用命令行工具为Mac OS X创建美观的DMG?

通过命令行Mac OS X使用密码添加/导入证书

使用launchagents mac os x在后台运行命令行应用程序

Mac OS上的date命令

Mac OS X(10.8)中是否有与“ iptables”等效的命令?

如何在命令行上的Mac OS中完全拉平PDF?

Mac OS X睡眠模式

Mac OS X是开源的吗?

卸载Java Mac OS X

在Mac OS X上卸载?

Mac OS X来自哪里?