Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
killall
命令> yum install -y psmisc
killall
命令> apt-get install -y psmisc
killall [参数] [进程名]
用来结束同名的的所有进程
> killall java
vi &
killall -TERM vi
或者killall -KILL vi
> vi &
[1] 18729
> killall -TERM vi
[1]+ Stopped vi
> ps -ef | grep vi
root 18729 9713 0 22:26 pts/1 00:00:00 vi
root 18799 9713 0 22:26 pts/1 00:00:00 grep --color=auto vi
> killall -KILL vi
[1]+ Killed vi
> ps -ef | grep vi
root 18827 9713 0 22:26 pts/1 00:00:00 grep --color=auto vi
TERM
信号将终止所有不能捕获该信号的进程KILL
信号将强制杀死进程> w
> killall -9 bash
运行命令:killall -9 bash 后,所有bash都会被卡掉了,所以当前所有连接丢失了。需要重新连接并登录。
服务器运行了
rumenz1
,rumenz2
,rumenz3
进程
> killall -9 rumenz*
强制杀死
rumenz1
,rumenz2
,rumenz3
进程
> killall -u deploy
那么可以使用
-o
选项,其中o
代表older
> killall -o 6h
> killall -y 5h
-y
选项,其中y
代表younger
killall 命令是大小写敏感的,所以我们如果写错大小写,将无法正确杀死进程
> killall -I rumenz
默认情况下,killall 会告诉你命令执行情况,但是,我们如果不关心它的执行结果,只想让它静默执行,只需加上
-q
选项即可,其中q
表示quite
。
> killall -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED
如果你在杀死多个进程时不太放心,担心把不该杀死的进程给杀死了,那么你可以使用
-i
选项
> killall -i rumenz
当一个信号被发送至某个进程,如果你想确定该进程已经被杀死了才返回执行结果,可以使用
-w
选项,其中w
代表wait
> killall -w rumenz
原文链接:https://rumenz.com/rumenbiji/linux-killall.html
微信公众号:入门小站
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。