【linux命令讲解大全】157.Linux命令:killall和pkill的用法和区别

2024-03-02 14:22:16 浏览数 (2)

killall

使用进程的名称来杀死一组进程

补充说明

killall 命令使用进程的名称来杀死进程,可以一次性杀死一组同名进程。相较于使用 kill 命令需要指定进程的PID并结合其他命令如 psgrep 来查找进程,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 命令可以按照进程名杀死进程。pkillkillall 的使用方法相似,都是直接杀死运行中的程序。如果您想杀掉单个进程,请使用 kill 命令。

语法

代码语言:javascript复制
pkill [选项] [参数]

选项

  • -o:仅向找到的最小(起始)进程号发送信号;
  • -n:仅向找到的最大(结束)进程号发送信号;
  • -P:指定父进程号发送信号;
  • -g:指定进程组;
  • -t:指定开启进程的终端。

参数

  • 进程名称:指定要查找的进程名称,同时也支持类似 grep 命令中的匹配模式。

实例

代码语言:javascript复制
pgrep -l gaim
2979 gaim

pkill gaim
也就是说:kill 对应的是PID,pkill 对应的是 command。

0 人点赞