killall
使用进程的名称来杀死一组进程
补充说明
killall
命令使用进程的名称来杀死进程,可以一次性杀死一组同名进程。相较于使用 kill
命令需要指定进程的PID并结合其他命令如 ps
和 grep
来查找进程,killall
将这两个步骤合二为一,是一个十分方便实用的命令。
语法
代码语言:javascript复制killall [选项] [参数]
选项
-e
:对进程的完整名称进行精确匹配;-l
:忽略大小写差异(不同大小写字母);-p
:杀死进程所属的进程组;-i
:交互式杀死进程,杀死进程之前需要进行确认;-l
:打印所有已知信号列表;-q
:如果没有进程被杀死,则不输出任何信息;-r
:使用正则表达式匹配要杀死的进程名称;-s
:用指定的信号代替默认信号 “SIGTERM”;-u
:杀死指定用户的进程。
参数
- 进程名称:指定要杀死的进程名称。
实例
代码语言:javascript复制# 杀死所有同名进程
killall vi
# 指定向进程发送的信号
killall -9 vi
# 0 信号表示不向进程发送信号,可通过返回值判断进程是否存在,0(存在)1(不存在)
killall -0 vi
echo $?
pkill
按照进程名杀死进程
补充说明
pkill
命令可以按照进程名杀死进程。pkill
和 killall
的使用方法相似,都是直接杀死运行中的程序。如果您想杀掉单个进程,请使用 kill
命令。
语法
代码语言:javascript复制pkill [选项] [参数]
选项
-o
:仅向找到的最小(起始)进程号发送信号;-n
:仅向找到的最大(结束)进程号发送信号;-P
:指定父进程号发送信号;-g
:指定进程组;-t
:指定开启进程的终端。
参数
- 进程名称:指定要查找的进程名称,同时也支持类似
grep
命令中的匹配模式。
实例
代码语言:javascript复制pgrep -l gaim
2979 gaim
pkill gaim
也就是说:kill 对应的是PID,pkill 对应的是 command。