如何在 Mac 终端中杀死困难的任务

如何在 Mac 终端中杀死困难的任务

我运行了这个 grep:

grep -r "\-\-\-foo\-\-\-" * | grep -vi bar

在过去的 5 分钟里,我的 Mac 一直很热(我能听到风扇的声音),但我无法点击Ctrlzxc来终止当前任务。

就连我 Mac 上的时钟也已经 6 分钟没有更新了。

我怎样才能杀死任务?

答案1

Ctrlz总是对我有用,可以暂停进程并恢复 shell 终端。

然后

kill -9 <PID>

或者

pkill -9 bar

通常可以达到目的。

[p]kill -9将 KILL 信号发送到由进程 ID 或可执行文件名称标识的进程。

在 Ubuntu 机器上,您可以用 <PID> 替换 `jobs -p`(带反引号),它只打印当前 shell 的其他子进程的进程 ID(希望只有刚刚用 挂起的进程Ctrlz)。

在 OSX 上,您必须手动输入 PID,或使用pkill.您可以使用jobs -l(在 OSX 上不起作用)找到其他子作业的 PID jobs -p,它会打印其他信息以及 PID。

如果Ctrlz不起作用,请打开一个新的终端窗口并使用以下命令识别进程 ID

ps aux | grep bar

[p]kill上面一样。

答案2

打开新的Terminal,然后输入top您的Terminal.您将看到正在运行的进程列表,如下图所示

在此输入图像描述

您可以grep在此处查看进程 ID。然后按q。它将再次返回终端。然后使用命令杀死这两个进程kill

kill 4963
kill 4934

相关内容