1.1 ps的概念
Linux命令ps;;Process Status的缩写;;该命令常常用来列出系统中当前运行的进程。ps是显示瞬间进程状态;并不动态连续。如果想对进程进行实时监控应该用top命令。
2.1 常见参数
;1;-a;显示所有终端机下执行的进程;除了阶段作业领导者之外。显示现行终端机下的所有进程;包括其他用户的进程。
;2;-A;显示所有进程。
;3;-c;显示CLS和PRI栏位。列出进程时;显示每个进程真正的指令名称;而不包含路径;参数或常驻服务的标示。
;4;-C;<指令名称> 指定执行指令的名称;并列出该指令的进程的状况。
;5;-d;显示所有进程;但不包括阶段作业领导者的进程。
;6;-e;此参数的效果和指定;A;参数相同。列出进程时;显示每个进程所使用的环境变量。
;7;-f;显示UID,PPIP,C与STIME栏位。用ASCII字符显示树状结构;表达进程间的相互关系。
;8;-g;<群组名称> 此参数的效果和指定;-G;参数相同;当亦能使用阶段作业领导者的名称来指定。显示现行终端机下的所有进程;包括群组领导者的进程。
;9;-G;<群组识别码>列出属于该群组的进程的状况;也可使用群组名称来指定。
;10;-h;不显示标题列。
;11;-H;显示树状结构;表示进程间的相互关系。
;12;-j或j;采用工作控制的格式显示进程状况。
;13;-l或l;采用详细的格式来显示进程状况。
;14;-L;显示线程LWP的相关信息。
;15;-m或m;显示所有的执行绪。
;16;-n;以数字来表示USER和WCHAN栏位。
;17;-N;显示所有的进程;除了执行ps指令终端机下的进程之外。-p<进程识别码> 指定进程识别码;并列出该进程的状况。
;18;-p;<进程识别码> 此参数的效果和指定;-p;参数相同;只在列表格式方面稍有差异。
;19;-r;只列出现行终端机正在执行中的进程。
;20;-s;<阶段作业> 指定阶段作业的进程识别码;并列出隶属该阶段作业的进程的状况。s采用进程信号的格式显示进程状况。
;21;-S;列出进程时;包括已中断的子进程资料。
;22;-t;<终端机编号> 指定终端机编号;并列出属于该终端机的进程的状况。t <终端机编号> 此参数的效果和指定;-t;参数相同;只在列表格式方面稍有差异。
;23;-T;显示现行终端机下的所有进程。
;24;-u;<用户识别码> 此参数的效果和指定;-U;参数相同。u以用户为主的格式来显示进程状况。
;25;-U;<用户识别码>列出属于该用户的进程的状况;也可使用用户名称来指定。U <用户名称>列出属于该用户的进程的状况。
;26;-v;采用虚拟内存的格式显示进程状况。
;27;-V或V;显示版本信息。
;28;-w或w;采用宽阔的格式来显示进程状况。
;29;x;显示所有进程;不以终端机来区分。
;30;X;采用旧式的Linux i386登陆格式显示进程状况。
;31;-y 配合参数;-l;使用时;不显示F(flag)栏位;并以RSS栏位取代ADDR栏位。
3.1 常用组合
3.1.1 ps -ef
显示所有的进程和命令行;常用组合是 ps -ef | grep tail 。
3.1.2 ps -aux
列出目前所有的正在内存当中的程序。
3.1.3 ps -u root
显示指定用户信息。
3.1.4 ps -ef | grep ssh
将目前这次登入的 PID 与相关信息列示出来。
3.1.5 ps -axjf
列出类似程序树的程序显示。
3.1.6 ps -aux | more
可以用 | 管道和 more 连接起来分页查看
3.1.7 ps -aux > ps001.txt
把所有进程显示出来;并输出到ps001.txt文件
3.1.8 ps -o pid,ppid,pgrp,session,tpgid,comm
输出指定的字段
3.1.9 ps aux | egrep ‘(cron|syslog)’
找出与 cron 与 syslog 这两个服务有关的 PID 号码
3.1.10 ps -l
列出目前bash shell的进程。
【例】
4.1 工作栏各字段的意义
;1;F;代表这个程序的旗标 (flag);4 代表使用者为 super user。
;2;S;代表这个程序的状态 (STAT)。
;3;UID;程序被该 UID 所拥有。
;4;PID;该程序的 ID。
;5;PPID;则是其上级父程序的ID。
;6;C;CPU使用的资源百分比。
;7;PRI;这个是 Priority (优先执行序) 的缩写。
;8;NI;这个是 Nice 值。
;9;ADDR;这个是 kernel function;指出该程序在内存的那个部分。如果是个 running的程序;一般就是 “-”。
;10;SZ;使用掉的内存大小
;11;WCHAN;目前这个程序是否正在运作当中;若为 - 表示正在运作
;12;TTY;登入者的终端机位置
;13;TIME;使用掉的 CPU 时间。
;14;CMD;所下达的指令