killall 是 linux 中按进程名批量终止进程的命令,默认发送 sigterm 信号;支持 -i(交互式)、-v(显示详情)、-u(指定用户)、-q(静默)等选项,强制终止可用 -9;使用前应先用 pgrep 或 ps 确认目标进程,避免误杀系统关键进程。

killall 是 Linux 中一个按进程名批量终止进程的命令,它会向所有同名进程发送信号(默认是 SIGTERM),比逐个找 PID 再用 kill 更快捷。
基本用法:直接终止同名所有进程
语法很简单:
killall 程序名
例如,关闭所有 Firefox 进程:
killall firefox
注意:程序名区分大小写,且需与 ps 或 pgrep 显示的进程名完全一致(如 Chrome 通常是 chrome 或 google-chrome,取决于安装方式)。
常用选项增强控制
-
-i(交互式):每终止一个进程前都询问确认,适合谨慎操作
killall -i python3 -
-v(显示详情):输出每个被终止进程的 PID 和结果
killall -v nginx -
-u 用户名:只终止指定用户启动的该进程
killall -u john node - -q(静默模式):不提示“无匹配进程”等信息,适合脚本中使用
强制终止与信号选择
默认 killall 发送 SIGTERM(可被捕获、允许进程清理后退出)。若进程无响应,可改用 SIGKILL 强制结束:
killall -9 vim
等价于:
killall -s SIGKILL vim
⚠️ 注意:-9 无法被进程捕获,会立即终止,可能丢失未保存数据,建议先尝试不带参数的普通终止。
安全使用提醒
- 执行前建议先用
pgrep 程序名或ps aux | grep 程序名确认目标进程,避免误杀 - 系统关键进程(如
systemd、sshd、dbus)不要随意 killall,可能导致系统异常 - 某些程序名较通用(如
python、sh),容易误伤其他脚本或服务,建议配合-u或更精确的名称(如python3.10)











