关于linux:linux之pkill命令

2次阅读

共计 949 个字符,预计需要花费 3 分钟才能阅读完成。

能够依照过程名杀死过程,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/…
微信公众号: 入门小站

正文完
 0