## ps命令 ps -le #查看系统中所有进程,使用BSD操作系统格式 ps aux #查看系统中所有进程,使用linux标准命令格式 这两个命令作用基本相当,ps -le 进程按照pid顺序排列。 ### 常用参数 -A 显示所有进程(等价于-e)(utility) -a 显示一个终端的所有进程,除了会话引线 -N 忽略选择。 -d 显示所有进程,但省略所有的会话引线(utility) -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility) -p pid 进程使用cpu的时间 -u uid or username 选择有效的用户id或者是用户名 -g gid or groupname 显示组的所有进程。 U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility) -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on. -l 长格式(有F,wchan,C 等字段) -j 作业格式 -o 用户自定义格式。 v 以虚拟存储器格式显示 s 以信号格式显示 -m 显示所有的线程 -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility) e 命令之后显示环境(如:ps -d e; ps -a e)(utility) h 不显示第一行 ### ps命令常用用法(方便查看系统进程) 1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。 2)ps -A 显示所有进程。 3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 4)ps -e 此参数的效果和指定"A"参数相同。 5)ps e 列出程序时,显示每个程序所使用的环境变量。 6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。 7)ps -H 显示树状结构,表示程序间的相互关系。 8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。 9)ps s 采用程序信号的格式显示程序状况。 10)ps S 列出程序时,包括已中断的子程序资料。 11)ps -t<终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。 12)ps u  以用户为主的格式来显示程序状况。 13)ps x  显示所有程序,不以终端机来区分。 最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。 ### 运行 ps aux 的到如下信息: ``` root:# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 f root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2 htt 3563 0.0 0.0 2956 196 ? Ss 20:41 0:00 /usr/sbin/htt -retryonerror 0 htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon root 3574 0.0 0.4 5236 992 ? Ss 20:41 0:00 crond xfs 3617 0.0 1.3 13572 2804 ? Ss 20:41 0:00 xfs -droppriv -daemon root 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -s root 3636 0.0 0.1 2304 420 ? Ss 20:41 0:00 /usr/sbin/atd dbus 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 --system ``` ### Head标头 > USER:该 process 属于哪个使用者账号的 > PID :该 process 的号码 > %CPU:该 process 使用掉的 CPU 资源百分比 > %MEM:该 process 所占用的物理内存百分比 > VSZ :该 process 使用掉的虚拟内存量 (Kbytes) > RSS :该 process 占用的固定的内存量 (Kbytes) > TTY :该 process 是在哪个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等 的,则表示为由网络连接进主机的程序。 > STAT:该程序目前的状态,主要的状态有 > R :该程序目前正在运作,或者是可被运作 > S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。 > T :该程序目前正在侦测或者是停止了 > Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态 > START:该 process 被触发启动的时间 > TIME :该 process 实际使用 CPU 运作的时间 > COMMAND:该程序的实际指令 ### 应用举例 查看当前系统进程的uid,pid,stat,pri, 以uid号排序. ps -eo pid,stat,pri,uid –sort uid 查看当前系统进程的user,pid,stat,rss,args, 以rss排序. ps -eo user,pid,stat,rss,args –sort rss 可以用 | 管道和 more 连接起来分页查看。 ps -aux | more 把结果输出到ps001.txt文本中并保存 ps -aux > ps001.txt ## pstree命令 进程树显示 参考: [Linux中ps命令介绍 - 坦GA的博客 - CSDN博客](http://blog.csdn.net/tanga842428/article/details/54576265)