那么,当 Mac 上出现过程(与应用程序相反)占用了 CPU,使您的机器不堪重负,您需要将其终止吗?
我知道您可以使用top
或打开“应用程序 > 实用程序 > 活动监视器”并从那里将其终止。
但是,当该进程已占用过多的 CPU,以致无法执行这两项任务时,会发生什么情况?
在 Windows 上,您只需执行ctrl+ alt+ delete,进程列表就会可靠地打开。因此,无论您的计算机运行得有多糟,您始终可以访问进程列表。
在 Mac OS 上,有cmd+ alt+ escape,可以可靠地显示正在运行应用程序。如果是应用程序导致的问题,那就没问题。但是:如果是进程导致的问题,该怎么办?
答案1
根据您想要终止单个进程的愿望,我假设您同意在终端上解决问题。终端非常轻量,因此即使您的系统已满,或者您通过 ssh 登录,终端也应该能够响应。
除了通过基本命令(你需要从命令或活动监视器中获取)kill
杀死进程之外,终端上还有一个巧妙的技巧,即通过命令杀死进程pid
ps
killall
按名字而不是pid。
例如,如果您知道进程的名称my-prog-0
或其他信息,您可以转到终端并执行以下操作:
% killall my-prog-0
有很多不错的选择(man killall
有关详细信息,请参阅):
-s : Shows the kill commands that will be generated so you can be safe.
-u : Limits to a specified user
关于 OS X 需要注意的一点是,如果某些系统进程被守护进程终止,它们将自动重新启动launchd
(我认为是这样的?)。例如,如果 Dock 没有响应,您可以执行 a killall Dock
,它将自动重新启动。
答案2
强制退出是 Mac 上任务管理器的替代品。它快速、高效,并且可以快速终止应用程序。
您可以通过两种方式访问此功能。
- Apple 图标(在屏幕左上角)-->强制退出...
- 按住Alt/Option+ Apple/Command+ Escape。如果您记住了键盘命令,并且 Finder 偶尔会因此出现错误并冻结,那么此功能将非常有用。
答案3
在终端中尝试以下命令来列出并使用正则表达式搜索进程:
ps gx | grep 'Symantec'
以上示例列出所有 Symantec 相关进程。请'Symantec'
用您自己的短语替换。接下来使用kill
命令的变体。您可以使用:
kill pid
用实际进程 ID替换pid
(上面输出中一行的第一个数字)。或者使用,
killall
如前所述。为了重申另一个有用的建议,使用
man kill
查看该命令的手册kill
,并向下滚动并查看该部分下提到的相关命令SEE ALSO
。
答案4
进入活动监视器,找到 Dock 并突出显示它。点击终止按钮(左上角带有 X 的停止标志)。
强制退出用于简单的应用程序,而活动监视器可用于终止进程。