【摘要】本文介绍了在Linux应用/内核开发调试中,经常需要用到的两个选项组合,当然,如果你需要查看更多更详尽的选项说明,可以参考man说明文档,即命令行下输入man ps
进行查看。
aux选项组合
使用场景:更多的是关注进程本身运行情况。
ps aux | more
- a:显示一个终端的所有进程;
- u:显示进程的归属用户及内存使用情况;
- x:显示没有关联控制终端的进程。
- USER:进程的归属用户
- PID:进程id
- %CPU:进程占用CPU资源的百分比
- %MEM:进程占用内存资源的百分比
- VSZ:进程使用的虚拟内存大小
- RSS:进程使用的物理内存大小
- TTY:当前进程关联的终端
- STAT:当前进程的状态
- D:disinterruptible,不可被打断的睡眠状态(IO)
- R:running,进程正在运行或就绪
- S:sleep,可被打断的睡眠状态(IO)
- T:terminal,停止状态(位于后台暂停或处于除错状态)
- X:死掉的状态
- Z:zombie,僵尸状态(虽已退出,但未被父进程回收)
- N:低优先级
- s:进程是会话首进程
- l:多线程
- +:进程位于后台
- START:进程启动时间
- TIME:进程运行时间
- COMMAD:当前进程的所执行的程序名
axjf组合
使用场景:更多关注的是多个进程间的层次关系。
ps axjf | more
-
j:显示进程归属的组gid、会话sid、父进程id
-
f:以ASCII码的形式显示出进程的层次关系。
-
PPID:当前进程的父进程id
-
PID:当前进程id
-
PGID:当前进程所属进程组id
-
SID:当前进程所属会话id
-
TTY:当前进程关联的终端
-
TPGID:当前进程是否为守护进程(-1代表真)
-
STAT:当前进程的状态
-
UID:当前进程由哪个用户启动的
-
TIME:进程运行时间
-
COMMAND:以ASCII码的形式展示进程间的调用关系
-