每天一个Linux命令(40):killall

本文介绍了Linux下killall命令的功能和用法,包括杀死指定名称的所有进程、向进程发送指定信号等,并提供了具体的操作实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

killall用于杀死指定名字的进程(kill processes by name)。我们可以使用kill杀死指定进程PID的进程,如果要找到需要杀死的进程,我们还需要在此之前使用ps配合grep查找进程,而killall把这两个过程合二为一。

1. 命令格式

killall [参数] [进程名]

2. 命令功能

用来结束同名的所有进程

3. 命令参数

-Z,只杀死拥有scontext的进程

-e,要求匹配进程名称

-I,忽略小写

-g,杀死进程组而不是进程

-i,交互模式,杀死进程前先询问用户

-l,列出所有的已知信号名称

-q,不输出警告信息

-s,发送指定的信号

-v,报告信号是否成功发送

-w,等待进程死亡

–help,显示帮助信息

–version,显示版本显示

4. 使用实例

例一:杀死所有的同名进程

命令:killall vi

# ps -ef|grep vi

root     17581 17398  0 17:51 pts/0    00:00:00 vi test.txt
root     17611 17582  0 17:51 pts/1    00:00:00 grep vi

# vi test.log

# ps -ef|grep vi

root     17581 17398  0 17:51 pts/0    00:00:00 vi test.txt
root     17640 17612  0 17:51 pts/2    00:00:00 vi test.log
root     17642 17582  0 17:51 pts/1    00:00:00 grep vi

# killall vi

# ps -ef|grep vi

root     17645 17582  0 17:52 pts/1    00:00:00 grep vi


例二:向进程发送指定的信号

命令:

killall -TERM vi 

或

killall -KILL vi
# vi  &             //后台运行vi

[1] 17646

# killall -TERM vi

[1]+  Stopped   vi

# vi & 

[2] 17648

# ps -ef|grep vi

root     17646 17582  0 17:54 pts/1    00:00:00 vi
root     17648 17582  0 17:54 pts/1    00:00:00 vi
root     17650 17582  0 17:55 pts/1    00:00:00 grep vi
[2]+  Stopped                 vi

# killall -TERM vi

# ps -ef|grep vi

root     17646 17582  0 17:54 pts/1    00:00:00 vi
root     17648 17582  0 17:54 pts/1    00:00:00 vi
root     17653 17582  0 17:55 pts/1    00:00:00 grep vi

# killall -KILL vi

[1]-  已杀死               vi
[2]+  已杀死               vi

# ps -ef|grep vi

root     17656 17582  0 17:56 pts/1    00:00:00 grep vi


例三:杀掉所有登录后的shell

命令:killall -9 bash

# w        //用来查看登录者的信息及他们的行为

18:01:03 up 41 days, 18:53,  3 users,  load average: 0.00, 0.00, 0.00USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.2.0.68        14:58    9:52   0.10s  0.10s -bash
root     pts/1    10.2.0.68        17:51    0.00s  0.02s  0.00s w
root     pts/2    10.2.0.68        17:51    9:24   0.01s  0.01s -bash

# killall -9 bash

# w
18:01:48 up 41 days, 18:54,  1 user,  load average: 0.07, 0.02, 0.00USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.2.0.68        18:01    0.00s  0.01s  0.00s w

说明:运行killall -9 bash后,所有的bash都被卡掉了,所以当前所有连接丢失了,需要重新连接并登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值