通过进程ID(PID)关闭进程
查找目标进程的PID
-
使用
ps
命令配合grep
搜索:ps aux | grep "进程名"
示例:关闭Firefox浏览器
ps aux | grep firefox
输出结果第二列为PID(如
12345
)。 -
使用
pgrep
快速获取PID:pgrep firefox # 直接返回PID
使用 kill
命令终止进程
- 温和终止(允许进程保存数据):
kill PID # 默认发送SIGTERM信号(15)
- 强制终止(立即结束,无清理):
kill -9 PID # 发送SIGKILL信号(9)
⚠️ 风险提示:强制终止可能导致数据丢失,仅用于无响应进程。
通过进程名批量关闭进程
killall
命令
- 终止所有同名进程:
killall 进程名 # 默认SIGTERM killall -9 进程名 # 强制SIGKILL
示例:关闭所有
chrome
进程killall chrome
pkill
命令
- 支持模式匹配(如进程名、用户等):
pkill "进程名" # 默认SIGTERM pkill -9 -f "进程名" # -f匹配完整命令
示例:关闭所有包含
node
的进程pkill -f node
图形界面关闭进程
系统监视器(GUI工具)
- 步骤:
- 打开系统监视器(Ubuntu:
gnome-system-monitor
,CentOS:xorg-x11-apps
包)。 - 在“进程”选项卡中找到目标进程。
- 右键点击 → 选择“结束进程”或“强制结束”。
- 打开系统监视器(Ubuntu:
xkill
工具(针对无响应窗口)
- 在终端输入:
xkill
鼠标会变成
X
图标 → 点击无响应窗口即可关闭。
高级工具管理进程
top
/ htop
动态监控
- 操作步骤:
- 运行
top
(或安装htop
:sudo apt install htop
)。 - 按
k
键 → 输入要终止的PID → 选择信号(默认15)。 - 按
Enter
确认终止。
- 运行
systemctl
管理系统服务
- 关闭系统服务进程:
sudo systemctl stop 服务名 # 如nginx、mysql
⛔ 关键注意事项
- 信号区别:
SIGTERM
(15):请求正常退出,进程可清理资源(推荐首选)。SIGKILL
(9):强制终止,系统直接回收资源(仅用于顽固进程)。
- 权限要求:
- 用户只能关闭自己的进程。
- 关闭系统级进程需
sudo
提权。
- 风险规避:
- 避免对系统关键进程(如
systemd
、sshd
)使用kill -9
,可能导致系统不稳定。 - 数据库或存储类进程优先尝试正常停止命令(如
mysqladmin shutdown
)。
- 避免对系统关键进程(如
问题排查技巧
- 进程无法关闭? 检查权限:
sudo kill PID
- 进程反复重启? 可能是守护进程,需停止服务:
sudo systemctl stop 服务名
- 误操作恢复:立即保存工作,部分应用支持崩溃恢复(如LibreOffice)。
总结建议
- 首选顺序:
kill [PID]
→killall/pkill
→kill -9
(最后手段)。 - 图形界面用户优先使用系统监视器,操作直观安全。
- 生产环境中慎用强制终止,避免数据损坏。
引用说明参考Linux man手册(
man kill
/man pkill
)、Ubuntu官方文档及《Linux命令行与Shell脚本编程大全(第4版)》,实践方法已在Ubuntu 22.04/CentOS 7环境中验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6259.html