killall 命令最简单高效,按进程名批量发送 SIGTERM 信号终止进程;需强制终止时用 -9 选项发送 SIGKILL;pkill 更灵活,支持模糊匹配、用户筛选等;操作前应先用 pgrep 或 ps 确认目标进程。

直接用 killall 命令最简单高效。它专为批量操作设计,输入进程名就能一次性向所有同名进程发送默认的 SIGTERM(信号 15)。
killall:按名称批量终止
语法就是 killall 进程名,比如:
-
killall python3—— 杀掉所有名为python3的进程 -
killall nginx—— 终止全部 nginx 工作进程
它内部自动完成“查找 + 发送信号”两步,无需手动查 PID 或拼接多个数字。默认使用 SIGTERM,给进程留出清理资源的机会。
需要强制终止时加 -9
如果某些进程对 SIGTERM 无响应(比如卡死或忽略该信号),可改用 SIGKILL:
-
killall -9 firefox—— 强制结束所有 firefox 进程 -
killall -s KILL node—— 效果同上,-s明确指定信号名
-9 不可被捕获或忽略,会立刻终止进程,但不执行清理动作,慎用。
更灵活的替代方案:pkill
当需要模糊匹配或按用户、参数筛选时,pkill 更合适:
-
pkill -f "myscript.py"—— 匹配命令行完整参数,不只是进程名 -
pkill -u alice—— 杀掉用户 alice 启动的所有进程 -
pkill -e nginx—— 执行前先打印将被终止的进程,确认无误再操作
它支持正则表达式和多种过滤条件,适合复杂场景。
安全提醒:先确认再动手
批量操作风险较高,建议先查看目标进程:
-
pgrep -f "keyword"—— 只列出匹配的 PID,不终止 -
ps aux | grep "keyword"—— 人工核对进程详情 -
killall -v 进程名—— 加-v参数显示每条终止结果,便于追踪
避免误杀系统关键进程,尤其是 root 权限下运行时。


















