点击上方 终端研发部,选择 设为星标

每天9:30点,干货准时奉上!

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

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

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

在本教程中,我们将向您展示如何使用killkillall命令来终止Linux中的进程。这两个工具之间的主要区别是killall根据名称终止正在运行的进程,而kill根据进程ID号(PID)终止进程。

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

系统kill信号

killkillall可以将给定信号发送到指定的进程或进程组。当没有指定信号时,两个工具都会发送-15(-TERM)。

最常用的信号是:

  • 1(-HUP):重新启动进程。

  • 9 (-KILL):杀死一个进程。

  • 15 (-TERM):正常停止进程。

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

  • 使用带有“ SIG”前缀(例如-SIGHUP)

  • 使用数字(例如-1)

  • 不带“ SIG”前缀(例如-HUP) 。

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

kill -l  # or killall -l

Copy

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

使用kill命令终止进程

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

假设我们的Firefox浏览器已无法响应,您需要取消Firefox进程。要找到过程PID,请使用pidof命令:

pidof firefox

Copy

以上命令将显示所有Firefox进程:

2551 2514 1963 1856 1771

Copy

一旦您知道Firefox处理PID以终止所有PID,请输入:

kill -9 2551 2514 1963 1856 1771

Copy

使用killall命令终止进程

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

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

killall -9 firefox

Copy

killall接受几个选项,例如指定使用用户身份运行的进程,使用正则表达式以及根据创建时间终止进程。您可以通过键入killall(不带任何参数)来获得所有选项的列表。

例如,如果我们要终止以用户身份运行的所有进程sara,则可以运行以下命令:

killall -u sara

Copy

结论

使用killkillall命令终止无响应的程序是一项容易的任务。您只需要知道进程名称或PID。

今日好文推荐

GitHub上非常实用的40个开源JAVA项目

XShell收费太贵?快试试开源的NuShell,好用!

GET 和 POST请求的本质区别是什么?看完觉得自己太无知了...

MyBatis批量插入数据你还在用foreach?你们的服务器没崩?

50b741c127135d04c2e0a60a0063f390.png

点个在看少个 bug 👇

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐