killall命令 – 基于服务名关闭一组进程

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

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

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

常用参数

-e进行精确匹配
-g杀死进程所属的进程组
-i杀死进程前询问用户是否确认
-l显示所有已知信号列表
-o匹配指定时间前开始的进程
-q静默执行模式
-r使用正规表达式匹配要杀死的进程名称
-s用指定的进程号代替默认信号
-u杀死指定用户的进程
-v显示执行过程详细信息
-w一直等待命令执行完成再退出
-y匹配指定时间后开始的进程
--help显示帮助信息
--version显示版本信息

参考示例

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

[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