首页/系统/Linux 运维命令速查/ps 自定义输出列
进程与作业69 条

ps 自定义输出列

用 -o 精确选取列(pid/ppid/stat/etime/lstart/cmd),排查「谁起的、跑了多久、什么状态」时信息最干净。

Linux 运维命令速查系统更新于 2026-10-12
用途按需选列输出进程信息
语法ps -eo 列1,列2,... [--sort=列]
常用列pid ppid stat etime etimes lstart cmd %cpu %mem nlwp

常用示例

常用示例
ps -eo pid,ppid,stat,etime,cmd --sort=-etime | head
ps -eo pid,lstart,cmd | grep -i java          # 启动时间
ps -eo pid,nlwp,cmd --sort=-nlwp | head       # 线程数排行
ps -p 1234 -o pid,ppid,stat,etime,lstart,cmd  # 单进程详情
ps -eo stat | sort | uniq -c | sort -rn | head   # 进程状态分布
stat 首位含义:R 运行、S 睡眠、D 不可中断、Z 僵尸、T 停止;带 + 是前台,带 l 是多线程。

易错点

  • etime 是「已运行时长」的格式化值,需要数值比较用 etimes(秒)
  • D 状态进程杀不掉:通常在等 IO/文件系统,先查挂载与磁盘(dmesg),不是它不听话

数据来源与参考

  • man 1 ps(procps-ng 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌