ps
(process status)命令是Linux/Unix系统中用于查看当前运行进程信息的基本工具。它可以显示进程ID(PID)、运行状态、CPU和内存使用情况等详细信息。
ps [options]
查看当前终端下的进程:
ps
查看系统所有进程:
ps -e
ps -A # 等同于-e
显示完整格式的进程信息:
ps -ef
显示BSD风格的进程信息:
ps aux
PID
:进程IDTTY
:控制终端TIME
:CPU使用时间CMD
:执行的命令UID
:用户IDPPID
:父进程IDC
:CPU利用率STIME
:启动时间CMD
:完整命令行USER
:进程所有者%CPU
:CPU使用百分比%MEM
:内存使用百分比VSZ
:虚拟内存大小(KB)RSS
:常驻内存大小(KB)STAT
:进程状态START
:启动时间COMMAND
:命令名/命令行代码 | 含义 |
---|---|
R | 运行中或可运行(在运行队列中) |
S | 可中断的睡眠(等待事件完成) |
D | 不可中断的睡眠(通常与IO相关) |
Z | 僵尸进程(已终止但未被父进程回收) |
T | 已停止(通常由作业控制信号或进程被跟踪) |
< | 高优先级 |
N | 低优先级 |
L | 有页面锁定在内存中 |
s | 会话首进程 |
l | 多线程 |
+ | 位于前台进程组 |
ps -ef | grep nginx
ps -ejH
ps axjf # 显示进程树
ps aux --sort=-%cpu | head -10 # CPU使用率最高的10个进程
ps aux --sort=-%mem | head -10 # 内存使用率最高的10个进程
ps -u username
ps -eLf
ps -T -p <PID> # 查看特定进程的线程
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
ps -eo pid,user,args --forest
ps e -p <PID>
watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'
kill $(ps -ef | grep 'process_name' | grep -v grep | awk '{print $2}')
先用ps找到可疑进程,再用top/htop进行详细监控。
通过熟练掌握ps命令,您可以有效地监控和管理Linux系统中的进程,快速定位性能问题和异常进程。