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