终止进程的4种方法-Kill,killall,xkill,pkill

举报
Tiamo_T 发表于 2022/01/19 08:06:10 2022/01/19
2.2k+ 0 0
【摘要】 Kill 命令用于向进程发送信号或杀死进程。我们通常使用 kill -SIGNAL PID,您可以在其中知道进程的 PID。 还有其他方法可以有效地终止进程——按名称终止进程,通过指定名称的一部分终止进程,通过光标指向进程终止进程等, 在本文中,让我们了解一下终止进程的 4 种方法。

Kill 命令用于向进程发送信号或杀死进程。我们通常使用 kill -SIGNAL PID,您可以在其中知道进程的 PID。

还有其他方法可以有效地终止进程——按名称终止进程,通过指定名称的一部分终止进程,通过光标指向进程终止进程等,

在本文中,让我们了解一下终止进程的 4 种方法。


1. Kill Command – 通过指定进程的 PID 来终止进程

以下所有终止约定都会将 TERM 信号发送到指定进程。对于信号,可以使用信号名称或信号编号。您需要查找进程的 pid 并将其作为参数提供以杀死。

$ kill -TERM pid 

$ kill -SIGTERM pid 

$ kill -15 pid

示例:终止 Firefox 进程。


$ ps -ef | grep firefox
1986 ?        Sl     7:22 /usr/lib/firefox-3.5.3/firefox

$ kill -9 1986

2. Killall 命令 - 按名称杀死进程

您可以指定进程的名称,而不是通过其 PID 指定进程。如果多个进程以该名称运行,则所有进程都将被杀死。
示例:杀死所有 Firefox 进程

$ killall -9 firefox

3. Pkill 命令——根据进程名称向进程发送信号

您可以通过指定全名或部分名称向任何进程发送信号。因此,您无需找出发送信号的进程的 PID。

示例:向名称中包含 sample 的所有进程发送 SIGTERM。

$ pkill sample

杀戮示例:

在发送信号之前,您可以使用“pgrep -l”来验证哪些进程符合条件,它会显示匹配进程的进程 ID 和进程名称。

在此示例中,所有进程都旨在将信号及其 PID 记录到信号日志中。

$ pgrep -l sample
12406 sample-server.p
12425 sample-server.p
12430 sample-garbagec

$ pkill -USR1 sample

$ cat signal-log
Name: ./sample-server.pl Pid: 12406 Signal Received: USR1
Name: ./sample-server.pl Pid: 12425 Signal Received: USR1
Name: ./sample-garbagecollector.pl Pid: 12430 Signal Received: USR1

注意:您指定的名称部分应在进程名称的前 15 个字符内。

4. Xkill 命令——通过 X 资源杀死客户端

xkill 是杀死故障程序的最简单方法。当你想杀死一个进程时,启动 xkill 它将提供一个十字光标。单击带有左光标的窗口,这将终止该进程。

$ xkill
Select the window whose client you wish to kill with button 1....
xkill:  killing creator of resource 0x1200003

注意:实际上,xkill 指示 XServer 终止客户端。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。