Ps命令

功能:用于显示当前系统正在运行的进程动态信息。

参数:

-A:列出所有进程(等价于-e)

-a:显示当前终端运行的所有进程。

e:列出程序时,显示每个程序所是用户的环境变量

u:以用户为主的格式显示程序状况

x:显示所有进程,不以终端机来区分

l:长格式输出

-o:控制输出 


输出格式:

USER:用户名

PID:进程ID

UID:用户ID

PPID:父进程的进程ID

SID:会话ID 

%CPU:进程的cpu占用率 

%MEM:进程的内存占用率

VSZ:进程所使用的虚拟内存的大小   

RSS:进程使用的时即内存大小 

TTY:与进程关联的终端

STAT:进程的状态 

START:进程运营的总cpu时间  

TIME:进程运行了多长时间

COMMAND:正在执行的命令行命令

NI:优先级 PRI:进程优先级编号

WCHAN:进程正在睡眠的内核参数名称

FLAGS:进程的数字标识 


进程状态详解:

R:正在运行或者在运行队列中等待

S:休眠中,在等待某个条件的形成或接受到信号

Z:僵死,进程已经终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放

D:收到信号不唤醒和不可运行,金翅鸟儿该必须等待直到由中断发生

T:终止,进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行

W:没有足够的记忆体分页可分配

X:死进程

<:高优先级的进程

N:低优先级的进程

L:内存锁页,表示由记忆体分页分配并缩在记忆体内

s:进程的领导者(在它之下由子进程)

l:多进程

+:位于后台的进程组   


  1. ps -aux与ps aux的区别 ps -aux意为打印用户名为“x”的用户的所有进程,以及打印所有将由-a选项选择的进程。如果用户“x”不存在,将会被编辑器解释为“ps aux”,并且会打印一个警告。

    当运行“ps -aux >/dev/null”,会显示以下警告信息;

    Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

    所以,最好直接使用“ps aux”命令。

  2. ps aux 与ps -ef

    aux会截断command列,而-ef不会,当结合grep时就会影响结果。

  3. ps -u 用户

    显示指定用户的进程

  4. 排序显示

    ps -aux --sort -pmem | head -n 10

  5. ps -C 进程名

    显示指定的进程

  6. ps -L PID

    根据pid显示指定的进程

  7. pstree

    显示进程树