Linux命令学习(2)-ps

摘自《鸟哥的Linux私房菜》-第十七章、程序管理与 SELinux 初探

PS(1)


将某个时间点的程序运行情况撷取下来

用法


ps [opt]
 
选项与参数:
-A :所有的 process 均显示出来,与 -e 具有同样的效用;
-a :不与 terminal 有关的所有 process ;
-u :有效使用者 (effective user) 相关的 process ;
x :通常与 a 这个参数一起使用,可列出较完整资讯。
输出格式规划:
l :较长、较详细的将该 PID 的的资讯列出;
j :工作的格式 (jobs format)
-f :做一个更为完整的输出。
 

常用选项


ps -l : 仅观察自己的 bash 相关程序

[scu@croot ~]$ ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S   500  3568  3567  0  80   0 -  2861 wait   pts/0    00:00:00 bash
0 R   500  3633  3568  0  80   0 -  2816 -      pts/0    00:00:00 ps
  • F:代表这个程序旗标 (process flags),说明这个程序的总结权限,常见号码有:

    • 若为 4 表示此程序的权限为 root ;
    • 若为 1 则表示此子程序仅进行复制(fork)而没有实际运行(exec)。
  • S:代表这个程序的状态 (STAT),主要的状态有:

    • R (Running):该程序正在运行中;
    • S (Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
    • D :不可被唤醒的睡眠状态,通常这支程序可能在等待 I/O 的情况(ex>列印)
    • T :停止状态(stop),可能是在工作控制(背景暂停)或除错 (traced) 状态;
    • Z (Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。
    • N (nice)低优先级任务
    • s 进程是会话期首进程
    • + 进程属于前台进程组
    • | 进程是多线程的
    • < 高优先级任务
  • UID/PID/PPID:代表『此程序被该 UID 所拥有/程序的 PID 号码/此程序的父程序 PID 号码』

  • C:代表 CPU 使用率,单位为百分比;

  • PRI/NI:Priority/Nice 的缩写,代表此程序被 CPU 所运行的优先顺序,数值越小代表该程序越快被 CPU 运行。

  • ADDR/SZ/WCHAN:都与内存有关,ADDR 是 kernel function,指出该程序在内存的哪个部分,如果是个 running 的程序,一般就会显示『 - 』 / SZ 代表此程序用掉多少内存 / WCHAN 表示目前程序是否运行中,同样的, 若为 - 表示正在运行中。

  • TTY: 登陆者的终端机位置,若为远程登陆则使用动态终端介面 (pts/n);

  • TIME:使用掉的 CPU 时间,注意,是此程序实际花费 CPU 运行的时间,而不是系统时间;

  • CMD:就是 command 的缩写,造成此程序的触发程序之命令为何。


ps aux : 列出目前所有的正在内存当中的程序

[root@croot scu]# ps aux | grep ^scu
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
scu       3567  0.0  0.3 100496  1860 ?        S    13:02   0:00 sshd: scu@pts/0  
scu       3568  0.0  0.3  11444  1752 pts/0    Ss   13:02   0:00 -bash
  • USER:该 process 属於那个使用者帐号的?
  • PID :该 process 的程序识别码。
  • %CPU:该 process 使用掉的 CPU 资源百分比;
  • %MEM:该 process 所占用的实体内存百分比;
  • VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
  • RSS :该 process 占用的固定的内存量 (Kbytes)
  • TTY :该 process 是在那个终端机上面运行,若与终端机无关则显示 ?,另外, tty1-tty6 是本机上面的登陆者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
  • STAT:该程序目前的状态,状态显示与 ps -l 的 S 旗标相同 (R/S/T/Z)
  • START:该 process 被触发启动的时间;
  • TIME :该 process 实际使用 CPU 运行的时间。
  • COMMAND:该程序的实际命令为何?

小贴士

僵尸程序: 应当终止运行释放内存,但却因为父程序未处理而驻扎在内存中的程序。

你可能感兴趣的:(Linux命令学习(2)-ps)