Linux常用命令-killall

命令

killall

描述

kill processes by name
结束进程-name

用法

1
killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Options:
-e,--exact 对长文件名进行精确匹配
-I,--ignore-case 忽略大小写
-g,--process-group 结束进程组
-y,--younger-than 结束比指定时间新的进程,可选时间单位s,m,h,d,w,M,y对应seconds, minutes, hours, days, weeks, Months and years
-o,--older-than 结束比指定时间旧的进程
-i,--interactive 结束进程之前提示用户
-l,--list 显示所有信号名称
-q,--quiet 不显示错误信息
-r,--regexp 支持扩展的正则
-s,--signal SIGNAL 发送指定信号而不是SIGNAL
-u,--user USER 只结束以指定用户身份运行的进程
-v,--verbose 显示详情
-w,--wait 等待进程结束

注意

需要安装psmisc软件包

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ more a.sh
#!/bin/bash

while true;do
echo aaa > aaa
sleep 1
done
$ sh a.sh &
[1] 6355
$ killall sh
[1]+ Terminated sh a.sh

$ killall -i sh
Kill sh(6382) ? (y/N) y
[1]+ Terminated sh a.sh