Linux 进程管理的五个实用命令
Linux 进程管理的五个实用命令
在日常运维和开发中,Linux 进程管理是最基础也最高频的任务之一。系统跑慢了、服务起不来、端口被占用,往往都需要回到进程这一层找原因。下面整理五个最实用、也最好记的命令,配合常见场景示例,帮助快速定位和处理问题。
一、ps:查看进程快照
ps 是最经典的进程查看命令。最常用的组合是 ps aux,可以列出所有用户的全部进程以及 CPU、内存、启动时间等信息。配合 grep 能迅速定位目标:
ps aux | grep nginx
输出中 STAT 列的字母含义也很实用,比如 R 表示运行中,S 表示可中断睡眠,Z 是僵尸进程,D 是不可中断睡眠(通常和 I/O 有关)。
二、top / htop:实时监控
当需要观察系统资源动态变化时,top 是不二之选。进入 top 后按 M 可按内存排序,按 P 按 CPU 排序,按 1 可展开各 CPU 核心。htop 是 top 的增强版,支持鼠标、彩色显示和键盘滚动,体验更友好。
三、pgrep 与 pkill:按名称匹配
当只需要 PID 或需要按名称批量操作时,pgrep 和 pkill 比 ps | grep 更干净,不会误命中 grep 自身进程:
pgrep -l python3
pkill -f "app.py"
-p 可以限制匹配精确进程名,-f 匹配完整命令行,-l 输出名称,配合使用能覆盖绝大多数场景。
四、nice 与 renice:调整优先级
CPU 争抢时,可以通过 nice 值调整进程的调度优先级。默认 nice 值为 0,范围 -19(最高)到 19(最低)。启动时指定:
nice -n 10 python3 train.py
运行中修改则用 renice,普通用户只能调低自己的进程优先级:
renice -n 5 -p 12345
这对跑在共享服务器上的训练或编译任务非常实用。
五、kill 与 killall:终止进程
发现问题进程后,先用 kill 发送 SIGTERM(15)优雅退出:
kill 12345
如果进程僵住不响应,再升级到 SIGKILL(9)强制终止:
kill -9 12345
killall 可以按名称一次性杀掉同名进程,例如 killall firefox。日常使用建议优先 SIGTERM,给进程留出保存数据和清理资源的机会。
小结
ps 做快照、top 看实时、pgrep/pkill 按名操作、nice/renice 管优先级、kill/killall 负责终止,五个命令覆盖了 Linux 进程管理的核心场景。配合 lsof 和 ss 进一步排查文件描述符与端口,就能应对绝大多数线上问题。
- 点赞
- 收藏
- 关注作者
评论(0)