# Ubuntu 查看与管理进程 ## 查看进程 ### ps 命令 ```bash # 查看所有进程(标准格式) ps -ef # 查看所有进程(BSD格式) ps aux # 查看指定进程 ps aux | grep nginx # 查看进程树 ps -ef --forest # 查看进程树(更详细) pstree # 查看指定用户的进程 ps -u username ``` ### top 命令 ```bash # 动态监控进程(按 q 退出) top # 高亮最高 CPU 使用率 top # 按内存排序 # 在 top 界面按 M # 按 CPU 排序 # 在 top 界面按 P # 显示完整命令 top -c # 指定用户 top -u username ``` > 💡 top 界面按键:`P` 按CPU排序、`M` 按内存排序、`k` 杀进程、`q` 退出 ### htop(推荐,需安装) ```bash # 安装 apt install htop # 使用 htop ``` --- ## 查看端口 ```bash # 查看监听端口 netstat -tln # 查看所有连接 netstat -an # 查看端口占用 netstat -tlnp # 查看指定端口 netstat -tlnp | grep 80 # 查看 TCP 端口 netstat -at # 查看 UDP 端口 netstat -au ``` --- ## 杀进程 ```bash # 正常终止进程 kill PID # 强制终止进程 kill -9 PID # 按名称杀进程 killall nginx # 按名称杀进程(模糊匹配) pkill nginx # 查找并杀进程 ps aux | grep nginx | grep -v grep | awk '{print $2}' | xargs kill ``` --- ## 进程信号 | 信号 | 值 | 说明 | |------|-----|------| | SIGTERM (15) | -15 | 优雅终止(默认) | | SIGKILL (9) | -9 | 强制终止 | | SIGSTOP (19) | -19 | 暂停进程 | ```bash kill -l # 查看所有信号 kill -15 PID # 优雅终止 kill -9 PID # 强制终止 ``` --- ## 进程优先级 ```bash # 查看进程优先级 top # 以指定优先级启动(-20 到 19,越小优先级越高) nice -n 10 command # 修改运行中进程优先级 renice 5 PID renice -10 PID # 提高优先级(需root) ``` --- ## 后台进程 ```bash # 后台运行 command & # 查看后台任务 jobs # 把暂停的进程放到后台 bg # 把后台进程带回前台 fg # 继续在后台运行 nohup command & ``` --- ## 示例 ```bash # 1. 查看 Nginx 进程 ps aux | grep nginx # 2. 查看端口占用 netstat -tlnp | grep :80 # 3. 杀 MySQL 进程 ps aux | grep mysql kill -9 1234 # 4. 实时监控 top -c ``` --- > 参考:[Linux 进程管理](http://blog.sina.com.cn/s/blog_64492fe10100qqk3.html)