您是否曾经遇到过启动应用程序或者在使用该应用程序时突然变得无响应并意外崩溃的情况?当您尝试再次启动应用程序,但没有任何反应。这是因为原始应用程序进程从未真正完全关闭。
好吧,这件事发生在我们所有人身上,不是吗?解决方案是终止或终止应用程序进程。但是如何终止进程?幸运的是,Linux中有多个程序可让您杀死错误的进程。
在本教程中,我们将向您展示如何使用kill
和killall
命令来终止Linux中的进程。这两个工具之间的主要区别是killall
根据名称终止正在运行的进程,而kill
根据进程ID号(PID)终止进程。
普通用户可以杀死自己的进程,但不能杀死属于其他用户的进程,而root用户可以杀死所有进程。
kill信号
kill
和killall
都可以将指定信号发送到指定的进程或进程组。当没有指定信号时,两个工具都会发送-15
TERM终止信号。
最常用的信号是包括HUP数值表示是1
,这意味着要重新启动进程。KILL数值表示是9
,要杀死一个进程。TERM数值表示是15
,正常停止进程。
可以通过三种不同的方式指定信号。包括使用带有SIG前缀(例如-SIGHUP),使用数字(例如-1),不带“SIG”前缀(例如-HUP) 。
使用-l
选项列出所有可用信号:
kill -l # or killall -l
以下概述的步骤将适用于所有Linux发行版。
使用kill
命令终止进程
要使用kill
命令终止进程,首先需要找到进程的PID。您可以使用不同的命令来执行此操作,例如top
,ps
,pidof
和pgrep
。假设我们的Firefox浏览器已无法响应,您需要终止Firefox进程。要找到过程PID,请使用pidof
命令:
pidof firefox
以上命令将显示所有Firefox进程:
2551 2514 1963 1856 1771
一旦您知道Firefox进程PID即可终止所有PID,请输入:
kill -9 2551 2514 1963 1856 1771
使用killall
命令终止进程
killall
命令将终止与指定名称匹配的进程。我们可以通过键入以下命令来终止Firefox进程:
killall -9 firefox
killall
接受几个选项,例如指定用户运行的进程,使用正则表达式以及根据创建时间来终止进程。您可以通过键入killall
(不带任何参数)来获得所有选项的列表。
例如,如果我们要终止以sara
用户身份运行的所有进程,则可以运行以下命令:
killall -u sara
结论
使用kill
和killall
命令终止无响应的程序是一项简单的任务。但您只需要知道进程名称或PID。如果您有意见,请在下面发表评论。