pkill命令是一个用于通过进程名称来查找和终止进程的Linux工具。该命令等同于killall命令, 但是需要更少的手动输入。
语法格式
pkill [options] pattern
常用选项
-u, --euid pattern
使用用户EUID进行查询(pkill指定的任何用户的过程)-i, --ignore-case
忽略搜索模式的大小写-x, --exact
仅使用完全匹配的进程名称-f, --full
使用进程的完整命令行而不仅仅是名称来进行匹配-c, --count
仅计算匹配的进程数量, 而不会实际强制终止进程-v, --inverse
反向匹配过程,相当于grep命令中的-v选项
实例说明
示例一
我们先查看当前运行的进程,其中包含有名为“firefox”的进程。使用pkill
命令而不提供进程PID时,发送的是默认的SIGTERM终止信号:
$ ps aux | grep firefox
root 6036 1.5 6.1 1199288 62072 ? Sl Jun10 13:03 /usr/lib64/firefox/firefox
root 6092 2.2 6.2 1199288 62156 ? Sl Jun10 18:48 /usr/lib64/firefox/firefox -contentproc -childID 1 ...
root 6303 0.0 0.0 112704 956 pts/2 S+ 06:27 0:00 grep --color=auto firefox
$ pkill firefox
示例二
假设我们要强制停止名为“gnome-shell”的进程,但不知道它的确切PID。为了对此进程使用SIGKILL信号,我们需要做两件事:
- 使用
pgrep
命令获取进程的PID,以便强制终止 - 将PID用于
kill
命令,进行终止进程
下面这个命令只是打印出进程的PID,但不会终止进程:
$ pgrep gnome-shell
2287
SID2287是强制终止gnome-shell
进程所需的PID:
$ kill -SIGKILL 2287
注意事项:
- 当使用
pkill
命令时,要小心不要意外地杀死了本不需要终止的其他进程。 这很容易发生,尤其是在模糊匹配模式下。 - 使用
pkill
和kill
工具时,请始终明确了解每个进程的PID以及实用程序发送的示例是否正确。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux pkill命令:使用正则表达式终止进程 - Python技术站