Linux 零碎中的 killall 命令用于杀死指定名字的过程(kill processes by name)。咱们能够应用 kill 命令杀死指定过程 PID 的过程,如果要找到咱们须要杀死的过程,咱们还须要在之前应用 ps 等命令再配合 grep 来查找过程,而 killall 把这两个过程合二为一,是一个很好用的命令。
Centos 装置 killall
命令
> yum install -y psmisc
Ubuntu 装置 killall
命令
> apt-get install -y psmisc
命令格局
killall [参数] [过程名]
命令性能
用来完结同名的的所有过程
命令参数
- -Z 只杀死领有 scontext 的过程
- -e 要求匹配过程名称
- -I 疏忽小写
- -g 杀死过程组而不是过程
- -i 交互模式,杀死过程前先询问用户
- -l 列出所有的已知信号名称
- -q 不输入正告信息
- -s 发送指定的信号
- -v 报告信号是否胜利发送
- -w 期待过程死亡
- –help 显示帮忙信息
- –version 显示版本显示
杀死所有同名过程
> killall java
向指定过程发送信号
- 后盾运行程序:
vi &
- 杀死 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
信号将强制杀死过程
把所有的登录后的 shell 给杀掉
> w
> killall -9 bash
运行命令:killall -9 bash 后,所有 bash 都会被卡掉了,所以以后所有连贯失落了。须要从新连贯并登录。
通过含糊匹配杀死所有过程
服务器运行了
rumenz1
,rumenz2
,rumenz3
过程
> killall -9 rumenz*
强制杀死
rumenz1
,rumenz2
,rumenz3
过程
终止某个用户所运行的过程
> killall -u deploy
咱们只想杀死运行工夫超过 6h 的过程
那么能够应用
-o
选项,其中o
代表older
> killall -o 6h
杀死进行工夫小于 5h 的过程
> 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/…
微信公众号: 入门小站