博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每天一个linux命令(43):killall命令
阅读量:5896 次
发布时间:2019-06-19

本文共 2500 字,大约阅读时间需要 8 分钟。

Linux系统中的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.使用实例

实例1:杀死所有同名进程

命令

killall vi

输出

[root@localhost ~]# ps -ef|grep viroot     17581 17398  0 17:51 pts/0    00:00:00 vi test.txtroot     17611 17582  0 17:51 pts/1    00:00:00 grep vi[root@localhost ~]# ps -ef|grep viroot     17581 17398  0 17:51 pts/0    00:00:00 vi test.txtroot     17640 17612  0 17:51 pts/2    00:00:00 vi test.logroot     17642 17582  0 17:51 pts/1    00:00:00 grep vi[root@localhost ~]# killall vi[root@localhost ~]# ps -ef|grep viroot     17645 17582  0 17:52 pts/1    00:00:00 grep vi

说明

 实例2:向进程发送指定信号

命令

后台运行程序:vi &

杀死 vi进程:killall -TERM vi  或者  killall -KILL vi

输出

[root@localhost ~]# vi & [1] 17646[root@localhost ~]# killall -TERM vi[1]+  Stopped                 vi[root@localhost ~]# vi & [2] 17648[root@localhost ~]# ps -ef|grep viroot     17646 17582  0 17:54 pts/1    00:00:00 viroot     17648 17582  0 17:54 pts/1    00:00:00 viroot     17650 17582  0 17:55 pts/1    00:00:00 grep vi[2]+  Stopped                 vi[root@localhost ~]# killall -TERM vi[root@localhost ~]# ps -ef|grep viroot     17646 17582  0 17:54 pts/1    00:00:00 viroot     17648 17582  0 17:54 pts/1    00:00:00 viroot     17653 17582  0 17:55 pts/1    00:00:00 grep vi[root@localhost ~]# killall -KILL vi[1]-  已杀死               vi[2]+  已杀死               vi[root@localhost ~]# ps -ef|grep viroot     17656 17582  0 17:56 pts/1    00:00:00 grep vi[root@localhost ~]#

说明:

 实例3:把所有的登录后的shell给杀掉

命令

killall -9 bash

输出

[root@localhost ~]# 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 WHATroot     pts/0    10.2.0.68        14:58    9:52   0.10s  0.10s -bashroot     pts/1    10.2.0.68        17:51    0.00s  0.02s  0.00s wroot     pts/2    10.2.0.68        17:51    9:24   0.01s  0.01s -bash[root@localhost ~]# killall -9 bash[root@localhost ~]# 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 WHATroot     pts/0    10.2.0.68        18:01    0.00s  0.01s  0.00s w[root@localhost ~]#

说明

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

转载地址:http://jvxsx.baihongyu.com/

你可能感兴趣的文章
《社交网站界面设计(原书第2版)》——1.7 反模式的重要性
查看>>
2016上半年DDoS攻击报告:DDoS攻击的规模和攻击频率都在不断攀升
查看>>
nagios监控远程windows服务器
查看>>
lagp,lacp详解
查看>>
LVS之DR模式原理与实践
查看>>
导出excel
查看>>
struts2+extjs
查看>>
php安装swoole扩展支持openssl和wss遇到的坑
查看>>
Apache2.4.33安装无systemctl/service status/state显示
查看>>
全栈数据之数据挖掘的33个知识点整理
查看>>
Docker的系统资源限制及验证
查看>>
在大公司呆5年,你就废了
查看>>
mac mamp mysql no start servel
查看>>
Docker简易版:使用更少击键运行Redis,MongoDB
查看>>
laravel框架快速入门(一)
查看>>
swing 鼠标监听addMouseMotionListener
查看>>
windows下设置网络pingIP地址
查看>>
js如何实现10秒倒计
查看>>
ubuntu下解决鼠标滚轮不能使用的问题
查看>>
隐马尔可夫(HMM)、前/后向算法、Viterbi算法 再次总结
查看>>