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

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

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 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

[root@localhost ~]# 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

[root@localhost ~]# killall vi

[root@localhost ~]# ps -ef|grep vi

root     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 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

[root@localhost ~]# killall -TERM vi

[root@localhost ~]# 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

[root@localhost ~]# killall -KILL vi

[1]-  已杀死               vi

[2]+  已杀死               vi

[root@localhost ~]# ps -ef|grep vi

root     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 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

[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 WHAT

root     pts/0    10.2.0.68        18:01    0.00s  0.01s  0.00s w

[root@localhost ~]#

说明:

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

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

你可能感兴趣的文章
PHP升级到5.5.11版本
查看>>
java 环境配置
查看>>
虚拟化杂谈-存储(2)
查看>>
centos7 安装 keepalived
查看>>
mysql 下载地址
查看>>
案例8-JSP中的错误处理
查看>>
C# winform 窗体接收命令行参数自动登录进行系统,模拟600个WCF客户端的并发压力测试...
查看>>
编写Android.mk中的LOCAL_SRC_FILES的终极技巧
查看>>
为什么要有非对称加密,解密技术呢
查看>>
CSS学习笔记
查看>>
Power Designer逆向工程连接数据库创建pdm-oracle
查看>>
【Audio&Video】支持的媒体格式(2)
查看>>
postfix疯狂外发垃圾邮件之分析与解决,思路分析与解决办法
查看>>
ios中webview的高级用法(二) - webview与js的通信框架
查看>>
dell网卡emN更名ethN或ethN更名emN的二种方法
查看>>
JSONP——解决AJax跨域问题
查看>>
nginx的502错误
查看>>
Ubuntu基本软件安装和web开发环境配置
查看>>
示例:抓包工具排除网络故障---查看谁在发送广播包
查看>>
INSERT INTO SELECT 语句及使用
查看>>