安卓系统

如何在Linux中杀死进程

47 尚硅谷大数据Linux 进程管理 终止进程

47 尚硅谷大数据Linux 进程管理 终止进程

目录:

Anonim

您是否曾经遇到过启动应用程序的情况,并且在使用该应用程序时突然变得无响应并意外崩溃? 您尝试再次启动该应用程序,但是没有任何反应,因为原始应用程序进程从未真正完全关闭。

好吧,这件事发生在我们所有人身上,不是吗? 解决方案是终止或终止应用程序进程。 但是如何?

幸运的是,Linux中有多个实用程序可让您杀死错误的进程。

,我们将向您展示如何使用 kill killall pkill 命令终止Linux中的进程。

这些工具之间的主要区别在于, kill 根据进程ID号(PID)终止进程,而 killall pkill 命令根据它们的名称和其他属性终止正在运行的进程。

普通用户可以杀死自己的进程,但不能杀死属于其他用户的进程,而根用户可以杀死所有进程。

系统终止信号

kill killall pkill 将给定信号发送到指定的进程或进程组。 如果未指定信号,则每个工具都会发送 15 TERM )。

最常用的信号是:

  • 1 (-HUP):重新加载进程。 9 (-KILL):杀死一个进程。 15 (-TERM):正常停止一个进程。

可以用三种不同的方式指定信号:

  • 使用带“ SIG”前缀(例如-SIGHUP)的数字(例如-1)而不带“ SIG”前缀(例如-HUP)。

使用 -l 选项列出所有可用信号:

kill -l # or killall -l

下面概述的步骤将适用于所有Linux发行版。

使用 kill 命令终止进程

要使用 kill 命令终止进程,首先需要找到进程PID。 您可以使用诸如 top ps pidof pgrep 类的不同命令来执行此操作。

假设Firefox浏览器已无响应,并且您需要终止Firefox进程。 要查找进程ID,请使用 pidof 命令:

pidof firefox

该命令将打印所有Firefox进程:

2551 2514 1963 1856 1771

当您知道Firefox处理PID以终止所有PID时,将发送 TERM 信号:

kill -9 2551 2514 1963 1856 1771

使用 killall 命令终止进程

killall 命令终止与指定名称匹配的所有程序。

使用与之前相同的方案,您可以通过键入以下命令来终止Firefox进程:

killall -9 firefox

killall 接受多个选项,例如向给定用户拥有的进程发送信号,将进程名称与正则表达式进行匹配以及创建时间。 您可以通过在终端上键入 killall (不带任何参数)来获得所有选项的列表。

例如,要终止所有以“ sara”用户身份运行的进程,请运行以下命令:

sudo killall -u sara

使用 pkill 命令终止进程

pkill 终止与命令行上给出的模式匹配的进程:

pkill -9 firefox

进程的名称不必完全匹配。

使用 pkill 您还可以向给定用户拥有的进程发送信号。 要仅杀死用户“ sara”拥有的firefox进程,请输入:

pkill -9 -u sara firefox

结论

使用 kill killall pkill 命令终止无响应的程序很容易。 您只需要知道进程名称或PID。

杀死终端