那么,当某个进程(而不是应用程序)占用 CPU、淹没您的机器并且您需要杀死它时,您在 Mac 上会怎么做?
我知道您可以使用top或打开“应用程序 > 实用程序 > 活动监视器”并从那里杀死它。
但是当进程已经使用了如此多的 CPU 以至于无法执行其中任何一项任务时会发生什么?
在Windows中,你可以做ctrl+ alt+delete和进程列表将可靠地打开。因此,无论您的计算机运行多少,您始终可以访问进程列表。
在Mac OS,还有cmd+ alt+ escape,能可靠地显示运行的应用程序。当它是导致问题的应用程序时很好。但是:如果这是一个过程,你会怎么做?
dtl*_*ier 47
基于您想要终止单个进程的愿望,我假设您对终端的解决方案感到满意。终端非常轻巧,因此即使您的系统被淹没,或者您通过 ssh 登录,也应该能够响应。
除了kill通过它们pid(您需要从ps命令或活动监视器获得)杀死进程的基本命令之外,终端上的一个巧妙技巧是killall命令,它允许您按名称杀死进程而不是进程号。
例如,如果你知道你的进程的名称是my-prog-0什么,你可以去终端执行:
% killall my-prog-0
Run Code Online (Sandbox Code Playgroud)
有许多不错的选择(man killall有关更多信息,请参阅):
-s : Shows the kill commands that will be generated so you can be safe.
-u : Limits to a specified user
Run Code Online (Sandbox Code Playgroud)
关于 OS X 需要注意的一件事是,如果某些系统进程被launchd守护进程杀死,它们将自动重新启动(我认为??)。例如,如果 Dock 没有响应,您可以执行 a killall Dock,它会自动重新启动。
JFW*_*JFW 29
强制退出是 Mac 上任务管理器的替代品。它快速、高效,并且非常快速地杀死应用程序。
您可以通过两种方式访问此功能。
小智 16
在终端中尝试以下命令以使用正则表达式列出和搜索进程:
ps gx | grep 'Symantec'
Run Code Online (Sandbox Code Playgroud)
上面的例子是列出了所有与赛门铁克相关的进程。替换'Symantec'为您自己的短语。接下来使用kill命令的变体。您可以使用:
kill pid
Run Code Online (Sandbox Code Playgroud)
替换pid为实际进程 ID(上面输出中的第一个行号)。或者使用,
killall
Run Code Online (Sandbox Code Playgroud)
正如之前所建议的那样。要重申另一个有用的建议,请使用
man kill
Run Code Online (Sandbox Code Playgroud)
查看该kill命令的手册并向下滚动并查看该SEE ALSO部分下提到的相关命令。
| 归档时间: |
|
| 查看次数: |
512678 次 |
| 最近记录: |