linux之pkill命令

举报
入门小站 发表于 2021/09/22 22:46:11 2021/09/22
【摘要】 可以按照进程名杀死进程,pkill命令 可以按照进程名杀死进程。pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。 命令语法pkill [选项] [参数] 命令选项-o:仅向找到的最小(起始)进程号发送信号;-n:仅向找到的最大(结束)进程号发送信号;-P:指定父进程号发送信号;-g:指定进程组;-t:指定开启进程的终端。 命令参数...

可以按照进程名杀死进程,pkill命令 可以按照进程名杀死进程。pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉。

命令语法

pkill [选项] [参数]

命令选项

  • -o:仅向找到的最小(起始)进程号发送信号;
  • -n:仅向找到的最大(结束)进程号发送信号;
  • -P:指定父进程号发送信号;
  • -g:指定进程组;
  • -t:指定开启进程的终端。

命令参数

进程名称:指定要查找的进程名称,同时也支持类似grep指令中的匹配模式。

最常被使用的信号是:

使用kill -l命令列出所有可用的信号。

  • 1(HUP):重新加载进程
  • 9 (KILL): 杀死进程
  • 15(TERM):完美地停止一个进程

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

  • 使用一个信号序号(例如: -1)
  • 使用 “SIG” 前缀 (例如: -SIGHUP)
  • 不使用 “SIG” 前缀 (例如: -HUP)

重新加载 Nginx 进程,你需要运行:

> pkill -HUP nginx

pkill使用正则表达式来匹配进程名称。这是一个好办法,在发送信号之前,先使用pgrep命令来打印匹配进程。 例如,列出所有名称中包含ssh的进程:

1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

如果你想依照名字准确匹配进程,并发送信号给它:

> pkill '^ssh$'
> 符号^代表字符串开头,字符串$代表字符串结尾

默认情况下,pkill仅仅匹配进程名称。如果使用-f选项,这个命令将会匹配所有参数列表。如果命令中包含空格,将整个命令用引号括起来:

> pkill -9 -f "ping 8.8.8.8"

使用-u选项告诉pkill仅仅匹配给出用户所运行的进程。

> pkill -u rumenz

想要指定多个用户,在多个用户名之间添加逗号:

> pkill -u rumenz,danny

你可以混合使用选项和搜索样式。例如,发送KILL信号给所有由 “mark” 用户运行的,并且进程名包含 “gnome” 的所有进程,你需要输入:

> pkill -9 -u rumenz gnome

想要显示最老的或者最新的进程,使用-n或者-o选项。

例如,想要杀死最近启动的 screen:

> pkill -9 -n screen

原文链接:https://rumenz.com/rumenbiji/linux-pkill.html
微信公众号:入门小站

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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