Linux命令-killall(根据进程名称来终止一个或多个进程)

🧭说明

killall 命令用于根据进程名称来终止一个或多个进程,无需手动查找进程ID(PID),可以显著提高效率。

核心用法速查表

下面的表格汇总了 killall 命令最常见和实用的选项。

选项/参数 说明与示例 适用场景
进程名称 killall <进程名> 例:killall vi 终止所有同名进程(默认发送 SIGTERM 信号)。
-信号 killall -<信号> <进程名> 例:killall -9 nginx 例:killall -SIGKILL nginx 发送指定信号。常用信号:-9 (SIGKILL, 强制终止) 或 -15 (SIGTERM, 正常终止,默认)。
-i killall -i <进程名> 交互模式,终止每个进程前会请求确认,避免误杀。
-u killall -u <用户名> <进程名> 仅终止属于指定用户的进程。
-I killall -I <进程名> 匹配进程名时忽略大小写。
-o / -y killall -o 5m <进程名> killall -y 30s <进程名> -o:终止运行时间超过 指定时长(如5分钟)的进程。 -y:终止运行时间短于指定时长(如30秒)的进程。
-l killall -l 列出所有支持的信号名称。
-w killall -w <进程名> 等待所有被终止的进程完全退出后,命令才返回。

⚠️ 重要注意事项

使用 killall 时,请特别留意以下几点:

  1. 谨慎使用通配符和用户选项 :类似 killall -u root 这样的命令会终止指定用户的所有进程,包括系统关键进程或登录会话,可能导致系统异常或终端断开连接。务必确认操作范围。
  2. 理解信号的区别 :优先使用默认的 SIGTERM 信号,它允许进程进行清理工作。SIGKILL (-9) 是强制手段,应作为最后的选择,因为可能造成数据丢失或资源无法正常释放。
  3. 命令可能需安装 :在某些最小化安装的 Linux 发行版中,killall 命令可能默认不存在。可以通过安装 psmisc 软件包来获取它。

总结

killall 是一个强大的进程管理工具,通过名称直接操作进程,非常高效。关键是明确目标进程 和选择合适的信号 ,尤其在多用户或生产环境中,结合 -i(交互模式)和 -u(指定用户)等选项能让操作得更精准、安全。

相关推荐
未济4 天前
linux 配置环境变量
linux
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.4 天前
进程间通信
linux
AI职业加油站4 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
Liuqy-054 天前
Linux IO编程——静态库、动态库
linux
此冬歌咏4 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz4 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅4 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog4 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发