说明
ps 命令用于报告当前系统的进程状态。可以搭配 kill 指令随时中断、删除不必要的程序。ps 命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
语法
ps [选项]
选项
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外 a:显示现行终端机下的所有程序,包括其他用户的程序 -A:显示所有程序 -c:显示 CLS 和 PRI 栏位 c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示 -C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况 -d:显示所有程序,但不包括阶段作业领导者的程序 -e:此选项的效果和指定A
选项相同 e:列出程序时,显示每个程序所使用的环境变量 -f:显示 UID, PPIP, C 与 STIME 栏位 f:用 ASCII 字符 显示树状结构,表达程序间的相互关系 -g<群组名称>:此选项的效果和指定-G
选项相同,当亦能使用阶段作业领导者的名称来指定 g:显示现行终端机下的所有程序,包括群组领导者的程序 -G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定 h:不显示标题列 -H:显示树状结构,表示程序间的相互关系 -j或j:采用工作控制的格式显示程序状况 -l或l:采用详细的格式来显示程序状况 L:列出栏位的相关信息 -m或m:显示所有的执行绪 n:以数字来表示 USER 和 WCHAN 栏位 -N:显示所有的程序,除了执行 ps 指令终端机下的程序之外 -p<程序识别码>:指定程序识别码,并列出该程序的状况 p<程序识别码>:此选项的效果和指定-p
选项相同,只在列表格式方面稍有差异 r:只列出现行终端机正在执行中的程序 -s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况 s:采用程序信号的格式显示程序状况 S:列出程序时,包括已中断的子程序资料 -t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况 t<终端机编号>:此选项的效果和指定-t
选项相同,只在列表格式方面稍有差异 -T:显示现行终端机下的所有程序 -u<用户识别码>:此选项的效果和指定-U
选项相同 u:以用户为主的格式来显示程序状况 -U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定 U<用户名称>:列出属于该用户的程序的状况 v:采用虚拟内存的格式显示程序状况 -V或V:显示版本信息 -w或w:采用宽阔的格式来显示程序状况 x:显示所有程序,不以终端机来区分 X:采用旧式的 Linux i386 登陆格式显示程序状况 -y:配合选项-l
使用时,不显示 F(flag) 栏位,并以 RSS 栏位取代 ADDR 栏位 -<程序识别码>:此选项的效果和指定p
选项相同 --cols<每列字符数>:设置每列的最大字符数 --columns<每列字符数>:此选项的效果和指定--cols
选项相同 --cumulative:此选项的效果和指定S
选项相同 --deselect:此选项的效果和指定-N
选项相同 --forest:此选项的效果和指定f
选项相同 --headers:重复显示标题列 --help:在线帮助 --info:显示排错信息 --lines<显示列数>:设置显示画面的列数 --no-headers:此选项的效果和指定h
选项相同,只在列表格式方面稍有差异 --group<群组名称>:此选项的效果和指定-G
选项相同 --Group<群组识别码>:此选项的效果和指定-G
选项相同 --pid<程序识别码>:此选项的效果和指定-p
选项相同 --rows<显示列数>:此选项的效果和指定--lines
选项相同 --sid<阶段作业>:此选项的效果和指定-s
选项相同 --tty<终端机编号>:此选项的效果和指定-t
选项相同 --user<用户名称>:此选项的效果和指定-U
选项相同 --User<用户识别码>:此选项的效果和指定-U
选项相同 --version:此选项的效果和指定-V
选项相同 --widty<每列字符数>:此选项的效果和指定-cols
选项相同
从上面列表可以看出,ps 命令的支持的选项非常多,是因为 ps 命令能够支持的系统类型相当的多,所以选项也相应的多。
实例
按内存资源的使用量对进程进行排序
ps aux | sort -rnk 4
按 CPU 资源的使用量对进程进行排序
ps aux | sort -nk 3