linux常用命令之pstree、ps、top
一、pstree命令
1.pstree
pastree命令用于查看进程树之间的关系,即查看进程的树型结构
2.选项
- -a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
- -c:不使用精简标示法;
- -G:使用VT100终端机的列绘图字符;
- -h:列出树状图时,特别标明现在执行的程序;
- -H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;
- -l:采用长列格式显示树状图; -n:用程序识别码排序。预设是以程序名称来排序;
- -p:显示程序识别码;
- -u:显示用户名称;
- -U:使用UTF-8列绘图字符;
- -V:显示版本信息。
3.实例
- 显示当前所有进程的进程号和进程ID
pstree -p
- 显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示。
pstree -a
二、ps命令
1.作用
ps命令是最基本的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到。ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
2.参数
- -A :所有的进程均显示出来,与 -e 具有同样的效用;
- -a : 显示现行终端机下的所有进程,包括其他用户的进程;
- -u :以用户为主的进程状态 ;
- x :通常与 a 这个参数一起使用,可列出较完整信息。
3.实例
(1)列出目前所有的正在内存当中的程序
$ps -aux
- USER:该进程属于哪个使用者账号。
- PID :该进程的进程ID号。
- %CPU:该进程使用掉的 CPU 资源百分比;
- %MEM:该进程所占用的物理内存百分比;
- VSZ :该进程使用掉的虚拟内存量 (Kbytes)
- RSS :该进程占用的固定的内存量 (Kbytes)
- TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
- STAT:该程序目前的状态,主要的状态有:
R :该程序目前正在运作,或者是可被运作;
S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。
T :该程序目前正在侦测或者是停止了;
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
- START:该进程被触发启动的时间;
- TIME :该进程实际使用 CPU 运作的时间。
- COMMAND:该程序的实际指令。
(2) 抓取僵尸进程
$ps -A -o stat,ppid,pid,cmd | grep "^Zz"
三、top命令
TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视,它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用、内存使用和执行时间对任务进行排序,而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
-d: 指定每两次屏幕信息刷新之间的时间间隔,例如 -d 5 代表每5秒刷新一次。