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(指定用户)等选项能让操作得更精准、安全。

相关推荐
yyuuuzz9 小时前
独立站运营的几个技术层面常见问题
大数据·运维·服务器·网络·数据库·aws
utf8mb4安全女神9 小时前
MySQL8.0.43的下载安装【二进制安装】【shell脚本】【环境准备】【my.cnf配置】【修改密码】
linux·服务器·网络
凡人叶枫9 小时前
Effective C++ 条款33:避免遮掩继承而来的名字
linux·服务器·开发语言·c++·嵌入式开发
凡人叶枫9 小时前
Effective C++ 条款31:将文件间的编译依存关系降至最低
linux·开发语言·c++·php·嵌入式开发·effective c++
MXsoft6189 小时前
**用自动化脚本给MAC误阻断留条后路:可审计、可回滚的准入控制方案**
运维·macos·自动化
ai_coder_ai9 小时前
在自动化脚本中如何调用大语言模型?
运维·语言模型·自动化
冰帆<10 小时前
[特殊字符] 深度起底:突破火山引擎 Ark-Helper 的 Linux 底层环境死锁,顺手魔改一份 Windows 一键安装脚本!
linux·windows·火山引擎
我星期八休息10 小时前
Linux系统编程—mmap文件映射
java·linux·运维·服务器·数据库·mysql·spring
java_cj10 小时前
从kubectl源码学pprof:生产环境性能分析的实战指南
运维·云原生·容器·kubernetes
良枫10 小时前
自进化 agent:核心模块一任务规划器 Planner
java·服务器·windows