PS命令功能
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
- top 的使用,可参考:http://blog.csdn.net/fly910905/article/details/77981309中的top部分
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命令示例:
1. 1.可以用 | 管道和 more 或less 连接起来分页查看
ps -aux |moreps -aux |lessps aux输出格式USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER: 进程拥有者PID:pid%CPU:占用的cpu使用率VSZ:占用的内存使用率RSS:占用的虚拟内存大小TTY:是否为登入者执行的程序,若为tty1-tty6,为本机登入者,若为pts/??,则为远程登入者。STAT:程序的状态,R:正在执行中,S:睡眠,T:正在检测或者停止,Z:死亡程序START:程序开始时间TIME:程序运行的时间COMMAND:所执行的指令。
2. 把所有进程显示出来,并输出到ps001.txt文件
ps -aux > ps001.txt
3. 输出指定的字段
ps -o pid,ppid,pgrp,session,tpgid,comm
4.根据 CPU或内存 使用来升序排序
ps -aux --sort -pcpu | lessps -aux --sort -pmem | less
5.实时监控进程状态
ps -aux --sort -pcpu | lessps -aux --sort -pmem | less
6.实时监控进程状态
watch -n 1 ‘ps -aux --sort -pmem, -pcpu’
7.显示前20条
watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’
8.显示tomcat内存等信息
ps -ef|grep tomcat
ps -ef 显示出的结果:1.UID 用户ID2.PID 进程ID3.PPID 父进程ID4.C CPU占用率5.STIME 开始时间6.TTY 开始此进程的TTY----终端设备7.TIME 此进程运行的总时间8.CMD 命令名
root 8182 1 0 Jan10 ? 00:02:47 /usr/local/jdk1.8.0_121/jdk/bin/java-Djava.util.logging.config.file=/usr/local/java/apache-tomcat-8.0.39-YunPayService-8090/conf/logging.properties-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms768m -Xmx768m -XX:PermSize=128m-Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources-Djava.endorsed.dirs=/usr/local/java/apache-tomcat-8.0.39-YunPayService-8090/endorsed-classpath /usr/local/java/apache-tomcat-8.0.39-YunPayService-8090/bin/bootstrap.jar:/usr/local/java/apache-tomcat-8.0.39-YunPayService-8090/bin/tomcat-juli.jar-Dcatalina.base=/usr/local/java/apache-tomcat-8.0.39-YunPayService-8090 -Dcatalina.home=/usr/local/java/apache-tomcat-8.0.39-YunPayService-8090-Djava.io.tmpdir=/usr/local/java/apache-tomcat-8.0.39-YunPayService-8090/temp org.apache.catalina.startup.Bootstrap start
更多Linux命令,请参考:http://blog.csdn.net/fly910905/article/details/77981309