共计 1881 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 您已经启动了一个应用程序(无论是从您最喜爱的桌面菜单还是从命令行),并且开始使用该启动的应用程序,只能将其锁定在您上,停止执行或意外死亡。您尝试再次运行该应用程序,但事实证明,原始版本不会完全关闭。 |
你是做什么?你杀死这个过程。但是怎么样 不管相信还是不相信,你最好的打赌最常见于命令行。幸运的是,Linux 有一些必要的工具来授权用户杀死一个错误的过程。但是,在您立即启动该命令以终止进程之前,您首先必须知道该进程是什么。你如何处理这个分层的任务?这实际上很简单,一旦你知道可以使用的工具。
让我介绍一下说的工具。
几乎所有的 Linux 发行版,无论是桌面还是服务器,我将要介绍的步骤将会起作用。我将严格按照命令行进行处理,打开终端并准备输入。
杀死无反应过程的第一步就是找到它。有两个命令用于定位一个进程:top和 ps。顶部是每个管理员应该知道的工具。随着 顶部 ,您将获得当前正在运行的进程的完整列表。 从命令行,发回 顶部 查看正在运行的进程的列表
从这个列表中你会看到一些相当重要的信息。比方说,Chrome 已经变得没有反应。根据我们的 顶级 显示,我们可以看出,使用进程 ID(PID)3827,3919,10764 和 11679 有四种运行的 chrome 实例。使用一种特定的杀死进程的方法,这个信息将是重要的。
虽然 顶部 是非常方便,但并不总是获得所需信息的最有效手段。假设您知道 Chrome 进程是您需要杀死的,而您不希望看到 顶部 提供的实时信息。为此,您可以使用 ps 命令并通过 grep 过滤输出。的 PS 命令报告的当前过程,并快照 的 grep模式匹配的打印线。我们通过 grep 过滤 ps 的原因很简单:如果您自己发出 ps 命令,您将获得所有当前进程的快照列表。我们只想要与 Chrome 关联的列表。
ps aux | grep chrome
该辅助选项如下:
a = 为所有用户显示进程
u = 显示进程的用户 / 所有者
x = 还显示未附加到终端的进程
当您搜索有关图形应用程序的信息时,x 选项很重要。
当您发出上述命令时,您将获得比您需要的更多信息(图 2),以防止某个进程的死亡,但有时比使用 top 更有效。
现在我们来到杀死这个过程的任务。我们有两个信息将帮助我们杀死错误的过程:
1、进程名称
2、进程 ID
您使用的将确定用于终止的命令。有两个命令用于杀死进程:
1、杀死 – 通过 ID 杀死一个进程
2、killall – 按名称杀死一个进程
还可以将不同的信号发送到两个 kill 命令。您发送的信号将由 kill 命令中要求的结果决定。例如,您可以将 HUP(挂起)信号发送到 kill 命令,这将有效地重新启动该过程。当您需要立即重新启动的过程(例如,在守护程序的情况下),这永远是一个明智的选择。您可以通过发出 kill - l 来获取可以发送到 kill 命令的所有信号的列表。你会发现很多信号
最常见的杀戮信号是:
信号名称 | 单值 | 影响 |
SIGHUP | 1 | 挂断 |
SIGINT | 2 | 从键盘中断 |
SIGKILL | 9 | 杀死信号 |
SIGTERM | 15 | 终止信号 |
SIGSTOP | 17,19,23 | 停止进程 |
这是很好的,您可以使用信号值代替信号名称。所以你不必记住各种信号的所有名称。
所以,现在我们使用 kill 命令来杀死我们的 chrome 实例。此命令的结构将是:
kill SIGNAL PID
其中 SIGNAL 是要发送的信号,PID 是要被杀死的进程 ID。我们已经知道,从我们的 ps 命令我们要杀死的 ID 是 3827,3919,10764 和 11679. 所以要发送杀死信号,我们会发出命令:
一旦我们发布了上述命令,所有的 chrome 进程都将被成功地杀死。
我们走简单的路线!如果我们已经知道我们想要杀死的进程被命名为 chrome,我们可以利用 killall 命令并发送相同的信号,如下所示:
kill -9 3827
kill -9 3919
kill -9 10764
kill -9 11679
上述命令的唯一注意事项是它可能无法捕获所有正在运行的 chrome 进程。如果在运行上述命令之后,您发出 ps aux | grep chrome
命令并查看剩余的进程运行,最好的方法是返回 kill 命令并发送信号 9 以通过 PID 终止进程。
正如你所看到的,杀死错误的过程并不像你以前想象的那样具有挑战性。当我结束一个顽固的过程时,我倾向于从 killall 命令开始,因为它是最有效的终止路线。然而,当你结束一个非常有魅力的过程,杀死命令就是要走的路。
通过 Linux 基础和 edX 的免费“Linux 简介”课程了解 Linux 的更多信息。