1.「ps --help」
java
1.1.簡單選擇linux
1.1.1.顯示全部進程web
[root@tri work]# ps -e [root@tri work]# ps -e | wc -l 73 [work@tri ~]$ ps -e | wc -l 73
1.1.2.終端下、排除會話頭apache
[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.終端下,包含其餘用戶
bash
[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.正在運行的進程app
[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.按列表選擇ssh
1.2.1.按照命令名稱
ide
[root@tri work]# ps -C httpd [root@tri work]# ps -C vsftpd
1.2.2.按照「組ID」、「組名」ui
[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