前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux之killall命令

Linux之killall命令

原创
作者头像
入门笔记
修改2021-08-03 10:05:46
1.4K0
修改2021-08-03 10:05:46
举报
文章被收录于专栏:入门小站入门小站

Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。

Centos 安装killall命令

代码语言:txt
复制
> yum install -y psmisc

Ubuntu安装killall命令

代码语言:txt
复制
> apt-get install -y psmisc

命令格式

killall [参数] [进程名]

命令功能

用来结束同名的的所有进程

命令参数

  • -Z 只杀死拥有scontext 的进程
  • -e 要求匹配进程名称
  • -I 忽略小写
  • -g 杀死进程组而不是进程
  • -i 交互模式,杀死进程前先询问用户
  • -l 列出所有的已知信号名称
  • -q 不输出警告信息
  • -s 发送指定的信号
  • -v 报告信号是否成功发送
  • -w 等待进程死亡
  • --help 显示帮助信息
  • --version 显示版本显示

杀死所有同名进程

代码语言:txt
复制
> killall java

向指定进程发送信号

  • 后台运行程序:vi &
  • 杀死 vi进程:killall -TERM vi或者killall -KILL vi
代码语言:txt
复制
> vi &
[1] 18729
> killall -TERM vi

[1]+  Stopped                 vi
> ps -ef | grep vi
root     18729  9713  0 22:26 pts/1    00:00:00 vi
root     18799  9713  0 22:26 pts/1    00:00:00 grep --color=auto vi
> killall -KILL vi
[1]+  Killed                  vi
> ps -ef | grep vi
root     18827  9713  0 22:26 pts/1    00:00:00 grep --color=auto vi
  • TERM信号将终止所有不能捕获该信号的进程
  • KILL信号将强制杀死进程

把所有的登录后的shell给杀掉

代码语言:txt
复制
> w
> killall -9 bash

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

通过模糊匹配杀死所有进程

服务器运行了rumenz1,rumenz2,rumenz3进程

代码语言:txt
复制
> killall -9 rumenz*

强制杀死rumenz1,rumenz2,rumenz3进程

终止某个用户所运行的进程

代码语言:txt
复制
> killall -u deploy

我们只想杀死运行时间超过 6h 的进程

那么可以使用-o选项,其中o代表older

代码语言:txt
复制
> killall -o 6h

杀死进行时间小于 5h 的进程

代码语言:txt
复制
> killall -y 5h

-y 选项,其中y代表younger

忽略大小写结束进程

killall 命令是大小写敏感的,所以我们如果写错大小写,将无法正确杀死进程

代码语言:txt
复制
> killall -I rumenz

关闭命令执行回显

默认情况下,killall 会告诉你命令执行情况,但是,我们如果不关心它的执行结果,只想让它静默执行,只需加上-q选项即可,其中q表示quite

列出所有支持的信号

代码语言:txt
复制
> killall -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED

交互式操作

如果你在杀死多个进程时不太放心,担心把不该杀死的进程给杀死了,那么你可以使用-i选项

代码语言:txt
复制
> killall -i rumenz

等待直到某个进程被终止

当一个信号被发送至某个进程,如果你想确定该进程已经被杀死了才返回执行结果,可以使用-w选项,其中w代表wait

代码语言:txt
复制
> killall -w rumenz

原文链接:https://rumenz.com/rumenbiji/linux-killall.html

微信公众号:入门小站

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Centos 安装killall命令
  • Ubuntu安装killall命令
  • 命令格式
  • 命令功能
  • 命令参数
  • 杀死所有同名进程
  • 向指定进程发送信号
  • 把所有的登录后的shell给杀掉
  • 通过模糊匹配杀死所有进程
  • 终止某个用户所运行的进程
  • 我们只想杀死运行时间超过 6h 的进程
  • 杀死进行时间小于 5h 的进程
  • 忽略大小写结束进程
  • 关闭命令执行回显
  • 列出所有支持的信号
  • 交互式操作
  • 等待直到某个进程被终止
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档