ps


 


1.“ps --help”


1.1.簡單選擇

1.1.1.顯示所有進程

[root@tri work]# ps -e
[root@tri work]# ps -e | wc -l
73
[work@tri ~]$ ps -e | wc -l
73


1.1.2.終端下、排除會話頭

[root@tri work]# ps -a
  PID TTY          TIME CMD
 5729 pts/0    00:00:00 su
 5732 pts/0    00:00:00 bash
 5823 pts/0    00:00:00 ps


1.1.3.終端下,包含其他用戶

[root@tri work]# ps a
  PID TTY      STAT   TIME COMMAND
  461 tty1     Ss+    0:00 /sbin/agetty --noclear tty1 linux
 5566 pts/0    Ss     0:00 -bash
 5622 pts/1    Ss+    0:00 -bash
 5729 pts/0    S      0:00 su
 5732 pts/0    S      0:00 bash
 5824 pts/0    R+     0:00 ps a


1.1.4.所有進程,排除會話頭

[root@tri work]# ps -d


1.1.5.正在運行的進程

[work@oxo bean]$ ps r
  PID TTY      STAT   TIME COMMAND
30090 pts/1    D+     0:35 md5sum tmp/app47.tar
30093 pts/0    R+     0:00 ps r



1.2.按列表選擇

1.2.1.按照命令名稱

[root@tri work]# ps -C httpd
[root@tri work]# ps -C vsftpd


1.2.2.按照“組ID”、“組名”

[root@tri work]# ps -G apache
[root@tri work]# ps -G 48


1.2.3.按照進程號顯示

顯示進程5202的信息
[root@tri work]# ps -p 5202
顯示5202的子進程信息
[root@tri work]# ps --ppid 5202


1.2.4.顯示某個終端的進程

[work@tri ~]$ ps -t pts/0
  PID TTY          TIME CMD
 4967 pts/0    00:00:00 bash
 5013 pts/0    00:00:00 su
 5014 pts/0    00:00:00 bash
 5304 pts/0    00:00:11 java
顯示沒有終端信息的進程
 [work@tri ~]$ ps -t ?


1.2.5.按照“用戶id”、“用戶名”

[work@tri ~]$ ps -u work
  PID TTY          TIME CMD
 5506 ?        00:00:11 java
 5565 ?        00:00:00 sshd
 5566 pts/0    00:00:00 bash
 5598 pts/0    00:00:00 ps
[work@tri ~]$ ps -U work
  PID TTY          TIME CMD
 5506 ?        00:00:11 java
 5565 ?        00:00:00 sshd
 5566 pts/0    00:00:00 bash
 5599 pts/0    00:00:00 ps
 [work@tri ~]$ ps -U 1000
  PID TTY          TIME CMD
 5506 ?        00:00:12 java
 5565 ?        00:00:00 sshd
 5566 pts/0    00:00:00 bash
 5600 pts/0    00:00:00 ps



1.3.輸出

1.3.1.固定格式輸出

[root@tri work]# ps -C httpd -F
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root      5913     1  0 56553  5164   0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5914  5913  0 56553  3008   0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5915  5913  0 56553  3008   0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5916  5913  0 56553  3008   0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5917  5913  0 56553  3008   0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5918  5913  0 56553  3008   0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND



[root@tri work]# ps -C httpd -f
UID        PID  PPID  C STIME TTY          TIME CMD
root      5913     1  0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5914  5913  0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5915  5913  0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5916  5913  0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5917  5913  0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    5918  5913  0 20:46 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND



[root@tri work]# ps -C httpd -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  5913     1  0  80   0 - 56553 poll_s ?        00:00:00 httpd
5 S    48  5914  5913  0  80   0 - 56553 inet_c ?        00:00:00 httpd
5 S    48  5915  5913  0  80   0 - 56553 inet_c ?        00:00:00 httpd
5 S    48  5916  5913  0  80   0 - 56553 inet_c ?        00:00:00 httpd
5 S    48  5917  5913  0  80   0 - 56553 inet_c ?        00:00:00 httpd
5 S    48  5918  5913  0  80   0 - 56553 inet_c ?        00:00:00 httpd



[root@tri work]# ps -C httpd s
  UID   PID          PENDING          BLOCKED          IGNORED           CAUGHT STAT TTY        TIME COMMAND
    0  5913 0000000000000000 0000000000000000 0000000001001000 00000001880046eb Ss   ?          0:00 /usr/sbin/httpd -DFOREGROUND
   48  5914 0000000000000000 0000000000000000 0000000001001002 00000001880046e9 S    ?          0:00 /usr/sbin/httpd -DFOREGROUND
   48  5915 0000000000000000 0000000000000000 0000000001001002 00000001880046e9 S    ?          0:00 /usr/sbin/httpd -DFOREGROUND
   48  5916 0000000000000000 0000000000000000 0000000001001002 00000001880046e9 S    ?          0:00 /usr/sbin/httpd -DFOREGROUND
   48  5917 0000000000000000 0000000000000000 0000000001001002 00000001880046e9 S    ?          0:00 /usr/sbin/httpd -DFOREGROUND
   48  5918 0000000000000000 0000000000000000 0000000001001002 00000001880046e9 S    ?          0:00 /usr/sbin/httpd -DFOREGROUND



[root@tri work]# ps -C httpd u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      5913  0.0  0.5 226212  5164 ?        Ss   20:46   0:00 /usr/sbin/httpd -DFOREGROUND
apache    5914  0.0  0.2 226212  3008 ?        S    20:46   0:00 /usr/sbin/httpd -DFOREGROUND
apache    5915  0.0  0.2 226212  3008 ?        S    20:46   0:00 /usr/sbin/httpd -DFOREGROUND
apache    5916  0.0  0.2 226212  3008 ?        S    20:46   0:00 /usr/sbin/httpd -DFOREGROUND
apache    5917  0.0  0.2 226212  3008 ?        S    20:46   0:00 /usr/sbin/httpd -DFOREGROUND
apache    5918  0.0  0.3 226348  3252 ?        S    20:46   0:00 /usr/sbin/httpd -DFOREGROUND



[root@tri work]# ps -C httpd v
  PID TTY      STAT   TIME  MAJFL   TRS   DRS   RSS %MEM COMMAND
 5913 ?        Ss     0:00      0   480 225731 5164  0.5 /usr/sbin/httpd -DFOREGROUND
 5914 ?        S      0:00      0   480 225731 3008  0.2 /usr/sbin/httpd -DFOREGROUND
 5915 ?        S      0:00      0   480 225731 3008  0.2 /usr/sbin/httpd -DFOREGROUND
 5916 ?        S      0:00      0   480 225731 3008  0.2 /usr/sbin/httpd -DFOREGROUND
 5917 ?        S      0:00      0   480 225731 3008  0.2 /usr/sbin/httpd -DFOREGROUND
 5918 ?        S      0:00      0   480 225867 3252  0.3 /usr/sbin/httpd -DFOREGROUND



[root@tri work]# ps -C httpd X
  PID   STACKP      ESP      EIP TMOUT ALARM STAT TTY        TIME COMMAND
 5913 4d562100 4d561d58 81b45b83     -     - Ss   ?          0:00 /usr/sbin/httpd -DFOREGROUND
 5914 4d562100 4d561b48 81b4fb77     -     - S    ?          0:00 /usr/sbin/httpd -DFOREGROUND
 5915 4d562100 4d561b48 81b4fb77     -     - S    ?          0:00 /usr/sbin/httpd -DFOREGROUND
 5916 4d562100 4d561b48 81b4fb77     -     - S    ?          0:00 /usr/sbin/httpd -DFOREGROUND
 5917 4d562100 4d561b48 81b4fb77     -     - S    ?          0:00 /usr/sbin/httpd -DFOREGROUND
 5918 4d562100 4d561b48 81b4fb77     -     - S    ?          0:00 /usr/sbin/httpd -DFOREGROUND



1.3.2.自定義格式輸出

  使用“o”定義輸出格式

[root@tri work]# ps -C httpd -o user,group,stime
USER     GROUP    STIME
root     root     20:46
apache   apache   20:46
apache   apache   20:46
apache   apache   20:46
apache   apache   20:46
apache   apache   20:46



2.常用操作



 

簡單進程選擇

  -e 顯示所有進程

  ax 顯示所有進程(BSD模式)

 

列表進程選擇

  -C 顯示指定命令的進程

    eg: ps -C bash -o pid,comm,%cpu,%mem

    eg: ps -C java -o pid,comm,%cpu,%mem

  -G 顯示用戶組的進程

    eg: ps -G bea -o pid,%cpu,%mem,time,cmd,comm

  -U  顯示用戶的進程

    eg: ps -U weblogic -o pid,%cpu,%mem,stat

  -p “pid”列表指定的進程

  -s 會話列表指定的進程

  --ppid 選擇子進程信息

    eg: ps --ppid 1 -o pid,ppid,comm,cmd

  -123 會話id

  123 進程id

  -t 查看某個終端的進程


找出運行java的進程號

[root@iZ28lyaw0o0Z ~]# ps -C java -o pid=
  913
 6988


輸出格式控制

  -f

  -j

  e 在命令後顯示其環境變量

  ww 不限制寬度輸出

 

進程狀態代碼

  D 不可中斷睡眠

  R 運行

  S 等待終止信號的睡眠

  Z 殭屍進程

  T 停止的

    BSD信息

     < 高特權

     N 低特權

     L

     s 會話頭

     l 多線程

     + 前臺進程組中的進程

     [ ] 內核線程

 

[root@iZ28fpqf1fgZ ~]# tar -cf 131-home-d.tar /home/ &
[root@iZ28fpqf1fgZ ~]# ps -p 4668 -o pid,stat,%mem,%cpu,cmd
  PID STAT %MEM %CPU CMD
 4668 D     0.0  5.6 tar -cf 131-home-d.tar /home/
[root@iZ28fpqf1fgZ ~]# kill -9 4668
[root@iZ28fpqf1fgZ ~]# ps -p 4668 -o pid,stat,%mem,%cpu,cmd
  PID STAT %MEM %CPU CMD
[1]+  Killed                  tar -cf 131-home-d.tar /home/
[root@iZ28fpqf1fgZ ~]# ps -p 4668 -o pid,stat,%mem,%cpu,cmd
  PID STAT %MEM %CPU CMD



其他信息

  L 顯示可以指定的格式列名

    eg: ps L

    eg: ps -e -o uid,user,pid,cpuid,cputime,start_time,start,cmd

  找出僵死進程

# ps -e -o pid,stat | grep -i n
   282 SN
   283 SN

  BSD模式

# ps ax o pid,stat


 

顯示結果

  %CPU 使用掉處理器時間的百分比

  %MEM 使用了多少物理內存的百分比

  VSZ 進程請求虛擬內存使用的數量(KB

  RSS KB

  SIZE 內存佔用大小KB

  TIME 使用的cpu時間總量(自啓動)

  STIME 進程啓動時間(年)

  START 進程的啓動時間(月日)

  STAT 進程狀態

    eg: ps -C bash -o pid,rss,vsz,size,cmd


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章