Linux killall 命令使用详解

简介

Linux 中的 killall 命令用于按名称终止所有进程。与需要进程 ID (PID) 的 kill 不同,killall 通过指定进程名称来工作。

killall 向运行任何指定命令的所有进程发送信号。如果没有指定信号名称,则发送 SIGTERM

信号可以通过名称(例如 -HUP-SIGHUP)或数字(例如 -1)或选项 -s 来指定。

killall 进程永远不会终止自身(但可能会终止其他 killall 进程)。

基础语法

shell 复制代码
killall [OPTIONS] process_name

# process_name 表示进程名称

常用选项

  • -e, --exact:对于非常长的名称要求精确匹配。

  • -I, --ignore-case:忽略大小写匹配

  • -g, --process-group:终止该进程所属的进程组。killall 信号每个组仅发送一次,即使发现多个 进程属于同一进程组

  • -i, --interactive:在杀死之前以交互方式请求确认

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

  • -o, --older-than:只匹配较旧(在此之前启动)的进程

shell 复制代码
时间被指定为浮点数 
可用的单位有:s m h d w m y
分别表示秒、分、小时、日、周、月、年
  • -q, --quiet:安静模式,如果没有进程被终止不会输出任何东西

  • -r, --regexp:将进程名称模式解释为 POSIX 扩展正则表达式

  • -s, --signal, -SIGNAL:发送指定信号而不是默认的 SIGTERM

  • -u, --user:仅终止指定用户拥有的进程,命令名称是可选的

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

  • -y, --younger-than:只匹配较年轻(在进程之后启动)的进程,时间单位同上

示例用法

通过名称终止进程

shell 复制代码
killall firefox

# 此命令将终止所有 Firefox 实例

强制终止进程

shell 复制代码
killall -9 firefox

# -9 选项发送 SIGKILL 信号,强制进程立即终止

终止属于特定用户的进程

shell 复制代码
killall -u username

# 这将终止属于用户名的所有进程

以交互方式终止进程

shell 复制代码
killall -i firefox

# 这会在终止每个进程之前要求确认

仅终止特定时间之前的正在运行的进程

shell 复制代码
killall -o 1h firefox

# 这将终止运行超过 1 小时的 Firefox 进程

仅终止特定时间之前正在运行的进程

shell 复制代码
killall -y 10m firefox

# 这将终止过去 10 分钟内启动的 Firefox 进程

列出可用信号

shell 复制代码
killall -l

检查是否成功

shell 复制代码
killall -v firefox

# -v 选项使 killall 详细显示有关终止进程的信息
相关推荐
球求了几秒前
Linux 入门:权限的认识和学习
linux·运维·服务器·开发语言·学习
charlie11451419130 分钟前
IMX6ULL学习整理篇——Linux驱动开发的基础3:向新框架迁移
linux·驱动开发·嵌入式硬件·学习·教程
上海运维Q先生1 小时前
[RH342]iscsi配置与排错
linux·运维·服务器
tpoog2 小时前
[贪心算法] 摆动序列
java·linux·开发语言·redis·算法·贪心算法
IT大卡拉咪3 小时前
Centos 7 bash系统目录拯救
linux·运维·centos
张人玉3 小时前
如何在ubuntu上安装zookeeper
linux·ubuntu·zookeeper
敲上瘾3 小时前
操作系统的心脏节拍:CPU中断如何驱动内核运转?
linux·windows·算法·ubuntu·系统架构·centos·aigc
喜气youngyoung4 小时前
Bash中关于制表符\t站位情况说明
linux
昨天今天明天好多天4 小时前
【Mac】安装 Parallels Desktop、Windows、Rocky Linux
linux·windows·macos
李卓璐4 小时前
Linux上离线安装PyTorch教程:No module named ‘_bz2:No module named ‘_lzma‘
linux·运维·pytorch