声明:允许转载,转载请注明链接,谢谢合作!
 
 
 引子: 
  
  
  ps -ef和ps aux有什么区别。
 
  
 
    答:ps aux 是用BSD的格式来显示 java这个进程 可以看到状态
  显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
  ps -ef 是用标准的格式显示java这个进程
  显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD .
 
 
 
  (来自百度知道)
 
 
  
   ps工具标识进程的5种状态码: 
 
    D 不可中断 uninterruptible sleep (usually IO) 
 
    R 运行 runnable (on run queue) 
 
    S 中断 sleeping 
 
    T 停止 traced or stopped 
 
    Z 僵死 a defunct (”zombie”) process 
 
    
 
   STAT状态位常见的字符
 
    
 
   D 无法中断的休眠状态(通常 IO 的进程);
 R 正在运行可中在队列中可过行的;
 S 处于休眠状态;
 T 停止或被追踪;
 W 进入内存交换  (从内核2.6开始无效);
 X 死掉的进程   (基本很少見);
 Z 僵尸进程;
 < 优先级高的进程
 N 优先级较低的进程
 L 有些页被锁进内存;
 s 进程的领导者(在它之下有子进程);
 l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
 + 位于后台的进程组;
 
   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   显示所有程序,不以终端机来区分。
 
   14)ps -l     较长,较详细的显示该PID的信息
 
   1. 可以用 | 管道和 more 连接起来分页查看
 
   命令:ps -aux |more
 
   2. 把所有进程显示出来,并输出到ps001.txt文件
 
   命令:ps -aux > ps001.txt
 
   3. 输出指定的字段
 
   命令:ps -o pid,ppid,pgrp,session,tpgid,comm
 
    命令举例:
 
    1、找出与 cron 与 syslog 这两个服务有关的 PID 号码
 
   [root@localhost test6]# ps aux | egrep '(cron|syslog)'
 
    root      2682  0.0  0.0  83384  2000 ?        Sl   Nov02   0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
 
   root      2735  0.0  0.0  74812  1140 ?        Ss   Nov02   0:00 crond
 
   root     17475  0.0  0.0  61180   832 pts/0    S+   16:27   0:00 egrep (cron|syslog)
 
   
 
  2、列出类似进程树的程序显示
 
 
 
   ps -axjf
 
 
 
   3、显示所有进程
 
 
 
   ps -A
 
 
 
   4、显示目前正在内存中的程序
 
 
 
   ps aux
 
 
 
  参考文献:
 
 
  
 
  2、http://blog.csdn.net/hanner_cheung/article/details/6081440   ps aux指令詳解