共计 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/…
微信公众号: 入门小站
正文完