在Linux系统中,查看进程可以通过多种命令和工具实现,以下为详细方法与扩展知识:
1. `ps`命令
最基础的进程查看工具,常用组合:
`ps aux`:显示所有用户的进程(包括无终端的进程),包含详细信息(CPU、内存占用等)。
- `USER`:进程所有者;`PID`:进程ID;`%CPU`/`%MEM`:资源占用;`COMMAND`:启动命令。
`ps -ef`:以完整格式列出所有进程,显示PPID(父进程ID)。
`ps -u [用户名]`:查看特定用户的进程。
扩展:通过`ps --forest`可查看进程树结构,识别父子进程关系。
2. `top`命令
实时动态监控进程及系统资源:
默认按CPU占用排序,输入`M`按内存排序,`P`切回CPU排序。
显示关键指标:负载平均值(load average)、运行状态(Running/Sleeping)、僵尸进程(Zombie)。
交互命令:`k`结束进程(需输入PID),`q`退出。
高级工具:`htop`是增强版,支持颜色高亮、鼠标操作,可通过包管理器安装(如`apt install htop`)。
3. `pgrep`与`pkill`
快速查找或操作进程:
`pgrep -l [进程名]`:根据名称查找PID并列出(如`pgrep -l nginx`)。
`pkill [进程名]`:终止同名进程(如`pkill python`)。
4. `systemctl`管理服务进程
针对使用systemd的系统:
`systemctl status [服务名]`:查看服务状态及关联进程。
`systemctl list-units --type=service`:列出所有系统服务。
5. `lsof`分析进程打开的文件
`lsof -p [PID]`:查看某进程打开的文件、端口等。
`lsof -i :80`:查找占用80端口的进程。
6. `/proc`文件系统
直接查看进程详情:
`cat /proc/[PID]/status`:进程状态(线程数、内存映射等)。
`ls /proc/[PID]/fd/`:查看进程打开的文件描述符。
7. 其他工具
` glances`:综合监控工具,提供进程、网络、磁盘等数据。
`nmon`:性能分析工具,支持实时记录与报表生成。
注意事项
结束进程时优先用`kill -15`(优雅终止),强制终止用`kill -9`(可能导致资源未释放)。
长期运行的进程建议用`screen`或`tmux`托管,避免终端断开后进程退出。
僵尸进程(状态为`Z`)需清理其父进程才能彻底移除。
掌握这些工具可有效管理系统进程,排查性能问题或异常行为。
查看详情
查看详情