killall命令来自于英文词组”Kill all“的拼写,其功能是用于基于服务名关闭一组进程。我们常使用kill命令关闭指定PID进程号的服务,暂且不论要先用ps命令找到对应的进程号才能关闭它,就说很多服务实际会发起多个进程,对应有数个不同PID进程号,要用kill命令逐一关闭也是件麻烦事。

而将ps和kill两个命令的执行过程合二为一,就得到了超好用的killall命令。一个只需要管理员给出要关闭的服务名,就能自动找到其所对应的全部进程信息,并关闭它们。

语法格式:killall [参数] 服务名

常用参数

-e对长名称进行精确匹配
-l打印所有已知信号列表
-p杀死进程所属的进程组
-i交互式杀死进程,杀死进程前需要进行确认
-r使用正规表达式匹配要杀死的进程名称
-s用指定的进程号代替默认信号“SIGTERM”
-u杀死指定用户的进程

参考实例

结束指定服务所对应的全部进程:

[root@linuxcool ~]# killall httpd

打印所有已知信号列表:

[root@linuxcool ~]# killall -l
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT
CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。