#Linux #shell #开发
4.1 监测程序
4.1.1 探查进程
ps命令 输出运行在系统的所有程序的信息
三种语法格式:
UNIX风格 选项可以组合在一起,有单个 "-" 连字符
BSD风格 选项可以组合在一起,无 "-" 连字符
GNU风格的长选项 选项前有 两个 "-" 连字符
UNIX风格的参数
ps -A 显示所有进程
ps -N 显示与指定参数不符的所有进程
ps -a 显示除控制进程和无终端进程外的所有进程
ps -d 显示除控制进程外的所有进程
ps -e 显示所有进程
UID:启动这些进程的用户。
PID:进程的进程ID。
PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
C:进程生命周期中的CPU利用率。
STIME:进程启动时的系统时间。
TTY:进程启动时的终端设备。
TIME:运行进程需要的累计CPU时间。
CMD:启动的程序名称。
ps -f 显示完整格式的输出
ps -F 显示更多二外输出(相比-f)
ps -l 显示长列表
F:内核分配给进程的系统标记。
S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵 化,进程已结束但父进程已不存在;T代表停止)。
PRI:进程的优先级(越大的数字代表越低的优先级)。
NI:谦让度值用来参与决定优先级。
ADDR:进程的内存地址。
SZ:假如进程被换出,所需交换空间的大致大小。
WCHAN:进程休眠的内核函数的地址。
ps -L 显示进程中的线程
ps -H 树状形式显示进程的层级
BSD风格的参数
ps T 显示跟当前终端关联的所有进程
ps a 显示跟任意终端关联的所有进程
ps g 显示所有的进程,包括控制进程
ps r 显示运行中进程
ps x 显示所有进程,升值包括为分配任何终端的进程
ps l 采用长模式显示
VSZ 进程在内存中的大小,以KB为单位。
RSS 进程在未换出时占用的物理内存。
STAT 代表当前进程状态的双字符状态码。
第一个字符采用了和Unix风格S列相同的值,表明进程是在休眠、运行还是等待。
第二个字符进一步说明进程的状态。
**<**:该进程运行在高优先级上。
N:该进程运行在低优先级上。
L:该进程有页面锁定在内存中。
s:该进程是控制进程。
l:该进程是多线程的。
**+**:该进程运行在前台。