Linux中的Pkill命令
本文介绍Linux pkill
命令的基础。
pkill
是一个命令行程序,可根据指定的标准信号发送到正在运行的进程。 可以通过进程的全名或部分名,运行进程的用户或其他属性来指定进程。
pkill
命令是procps
(或procps-ng
)软件包的一部分,该软件包已预先安装在几乎所有Linux发行版中。 pkill
是pgrep
程序的包装程序,它仅打印匹配进程的列表。
如何使用pkill
命令
pkill
命令的语法如下:
pkill [OPTIONS] <PATTERN>
匹配的<PATTERN>
是使用扩展的正则表达式指定的。
不带任何选项调用时,pkill
将15
(TERM
)信号发送给与指定名称匹配的所有正在运行的程序的PID。 例如,要正常停止所有Firefox进程,可以运行:
pkill -9 firefox
当至少一个正在运行的进程与请求的名称匹配时,命令返回0
。 否则,退出代码为1
。 这在编写shell脚本时很有用。
要将不同的信号发送到匹配的进程,请使用--signal
选项调用pkill
命令,后跟数字或符号信号名称。 发送信号的另一种方法是运行pkill
,后跟信号名称或以连字符开头的数字(-
)。
使用kill -l
命令列出所有可用信号。
最常用的信号是:
1
(HUP
):重新加载进程。9
(KILL
):杀死进程。15
(TERM
):正常停止进程。
可以用三种不同的方式指定信号:
- 使用带“ SIG”前缀(例如-SIGHUP)的数字(例如-1)
- 不带“ SIG”前缀(例如-HUP) )。
例如,要重新加载Nginx 进程,请运行:
pkill -HUP nginx
pkill
使用正则表达式来匹配进程名称。 在将信号发送给它们之前,最好先使用pgrep
命令打印匹配的进程。 例如,列出所有名称中包含“ ssh”的进程:
1039 sshd2257 ssh-agent
6850 ssh
31279 ssh-agent
如果您只想向名称与搜索模式完全相同的进程发送信号,则可以使用:
pkill '^ssh$'
插入号(^
)字符在字符串的开头,而美元$
在字符串的末尾。
默认情况下,pkill
仅与进程名称匹配。 当使用-f
选项时,该命令将与完整的参数列表匹配。 如果命令中包含空格,请用引号将整个命令引起来:
pkill -9 -f "ping 8.8.8.8"
使用-u
选项告诉pkill
匹配给定用户正在运行的进程:
pkill -u mark
要指定多个用户,请用逗号分隔其名称:
pkill -u mark,danny
您还可以组合选项和搜索模式。 例如,要发送KILL
信号,请在用户“ mark”下运行并在名称中包含“ gnome”的所有进程输入:
pkill -9 -u mark gnome
要仅显示最近(最旧)或最近(最新)启动的进程,请使用-n
(代表最新)或-o
(代表最旧)选项。
例如,杀死最近创建的screen:
pkill -9 -n screen
结论
pkill
命令用于根据不同的标准向正在运行的程序发送信号。
有关pkill
命令的更多信息,请访问 pkill man 页面或在终端中输入man pkill
。
如果您有任何问题或反馈,请随时发表评论。
以上是 Linux中的Pkill命令 的全部内容, 来源链接: utcz.com/z/507637.html