linux ps
0、ps -ef 行首意思
[oldboy@zhang~]$?ps -ef??
UID??????? PID?PPID? C STIME TTY????????? TIME CMD
root???????? 1????0? 0 08:21 ???????? 00:00:00 /sbin/init
root???????? 2????0? 0 08:21 ???????? 00:00:00 [kthreadd]
root???????? 3????2? 0 08:21 ????? ???00:00:00 [migration/0]
各相關信息的意義:
UID 程序被該 UID 所擁有【通常顯示用戶名】
PID 就是這個進程的 ID
PPID 則是其上級父進程的ID
C ?CPU 使用的資源百分比
STIME 系統啟動時間
TTY 登入者的終端機位置
TIME 使用掉的 CPU 時間。
CMD 所下達的指令為何
?
1、概述
???????? 顯示當前進程的快照。
???????? 顯示選擇活動進程的信息。如果想要顯示實時動態的進程信息,使用 top命令。
? ? ? ??
2、命令格式
???????? ps[options]
?
[oldboy@zhang~]$?ps --help???
*********?simple selection?*********?********* selection by list *********
-A allprocesses????????????????????? -C bycommand name
-N negateselection?????????????????? -G by realgroup ID (supports names)
-a all w/ ttyexcept session leaders? -U by real userID (supports names)
-d all exceptsession leaders???????? -g by session ORby effective group name
-e allprocesses????????????????????? -p byprocess ID
T? all processes on this terminal???? -s processes in the sessions given
a? all w/ tty, including other users? -t by tty
g? OBSOLETE -- DO NOT USE???????????? -u by effective user ID (supportsnames)
r? only running processes???????????? U?processes for specified users
x? processes w/o controlling ttys???? t?by tty
***********?output format?**********?*********** long options ***********
-o,ouser-defined? -f full??????????? --Group --User --pid --cols --ppid
-j,j jobcontrol?? s? signal????????? --group --user --sid --rows --info
-O,O preloaded-o? v?virtual memory? --cumulative--format --deselect
-l,l long????????? u?user-oriented?? --sort --tty--forest --version
-F?? extra full???X? registers?????? --heading --no-heading --context
??????????????????? ********* misc options*********
-V,V? show version????? L?list format codes? f? ASCII art forest
-m,m,-L,-T,H? threads??S? children in sum??? -y change -l format
-M,Z? security data???? c?true command name? -c schedulingclass
-w,w? wide output?????? n?numeric WCHAN,UID? -H processhierarchy
3、常用命令參數
SIMPLE ?PROCESS ?SELECTION
???????? -A? 顯示所有進程。和 -e 相同
???????? -N? 顯示所有進程,除了那些滿足特定條件的進程【反向選擇】。和 --deselect 相同。
???????? T? 顯示當前終端的所有進程。和 t 選項在沒有任何參數時相同。
???????? -a? 顯示所有進程。前提條件是只顯示終端連接的那些進程。除去會話引線和沒有分配到終端的那些進程。
[oldboy@zhang~]$ ps -a
? PID TTY????????? TIME CMD
?1609 pts/2???00:00:00 man
?1612 pts/2???00:00:00 sh
?1613 pts/2???00:00:00 sh
?1617 pts/2???00:00:00 less
?2089 pts/1???00:00:00 top
?4424 tty1????00:00:00 top????? 【系統命令行】
?4427 pts/0???00:00:00 ps
???????? a? 顯示與終端有關的進程
[oldboy@zhang~]$ ps a
? PID TTY?????STAT?? TIME COMMAND
?1506 tty2????Ss+??? 0:00 /sbin/mingetty/dev/tty2
?1508 tty3????Ss+??? 0:00 /sbin/mingetty/dev/tty3
?1510 tty4????Ss+??? 0:00 /sbin/mingetty/dev/tty4
?1512 tty5????Ss+??? 0:00 /sbin/mingetty/dev/tty5
?1514 tty6????Ss+??? 0:00 /sbin/mingetty /dev/tty6
?1533 pts/0???Ss???? 0:00 -bash
?1556 pts/1???Ss???? 0:00 -bash
?1579 pts/2???Ss???? 0:00 -bash
?1609 pts/2???S+???? 0:00 man ps
?1612 pts/2???S+???? 0:00 sh -c (cd"/usr/share/man" && (echo ".ll 9.3i"; echo".nr LL 9.3i"; echo ".pl
?1613 pts/2???S+???? 0:00 sh -c (cd"/usr/share/man" && (echo ".ll 9.3i"; echo".nr LL 9.3i"; echo ".pl
?1617 pts/2???S+???? 0:00 /usr/bin/less -is
?2089 pts/1???S+???? 0:00 top
?4396 tty1????Ss???? 0:00 -bash
?4424 tty1????S+??? ?0:00 top?????? 【系統命令行】
?4426 pts/0???R+???? 0:00 ps a
???????? -d? 顯示所有進程,除了會話引線。
???????? -e? 顯示所有進程。和 -A 相同。
???????? r??顯示當前終端正在運行的進程
???????? --deselect? 顯示所有進程,除了那些滿足特定條件的進程【反向選擇】。和 -N 相同。
PROCESS ?SELECTION ?BY LIST
???????? 這些選項接受一個單獨的參數,在一個空白分隔的或逗號分隔的列表的形式。可以使用多次。例如:ps -p "1 2" -p 3,4
???????? -Ccmdlist? 根據命令名稱選擇進程【沒有通配符和正則匹配】
[oldboy@zhang~]$ ps -C top
? PID TTY????????? TIME CMD
?2089 pts/1???00:00:01 top
?4566 tty1????00:00:01 top
???????? -Ggrplist? 根據真實的組ID或組名稱選擇進程。哪個創建的該進程,真正的組ID就是哪個。
?????????其他的自行查看,工作中不怎么用就不寫了
………………
OUTPUT? FORMAT ?CONTROL
???????? 對ps的信息進行選擇顯示。可能有所不同
???????? -F? 額外全格式。參見-f選項
[oldboy@zhang~]$?ps -f???????
UID??????? PID?PPID? C STIME TTY????????? TIME CMD
oldboy??? 1821?1790? 0 23:11 pts/1??? 00:00:00 -bash
oldboy??? 2006?1821? 0 23:25 pts/1??? 00:00:00 ps -f
[oldboy@zhang~]$?ps -F????????
UID??????? PID?PPID? C??? SZ??RSS PSR STIME TTY????????? TIMECMD
oldboy??? 1821?1790? 0 27117? 1876??0 23:11 pts/1??? 00:00:00 -bash
oldboy??? 2014?1821? 0 27560? 1132??0 23:26 pts/1??? 00:00:00 ps -F
???????? -Oformat? 就像 -o ,但是有一些默認的列。同 -opid,format,state,tname,time,command或者-o pid,format,tname,time,cmd,參見下面的-o。
………………
?
4、常用示例
系統文檔示例
查看系統每個進程的標準語法:
ps -e
ps -ef?? # 常用
ps -eF
ps -ely
?????????注意他們的區別
[oldboy@zhang~]$?ps -e | head-n5
??PID TTY????????? TIME CMD
??? 1 ????????00:00:00 init
??? 2 ????????00:00:00 kthreadd
??? 3 ????????00:00:00 migration/0
??? 4 ????????00:00:00 ksoftirqd/0
[oldboy@zhang~]$?ps -ef |head -n5??? # 常用
UID??????? PID?PPID? C STIME TTY????????? TIME CMD
root???????? 1????0? 0 08:21 ???????? 00:00:00 /sbin/init
root???????? 2????0? 0 08:21 ???????? 00:00:00 [kthreadd]
root???????? 3????2? 0 08:21 ???????? 00:00:00 [migration/0]
root??? ?????4????2? 0 08:21 ???????? 00:00:00 [ksoftirqd/0]
[oldboy@zhang~]$?ps -eF |head -n5???
UID??????? PID?PPID? C??? SZ??RSS PSR STIME TTY????????? TIMECMD
root???????? 1????0? 0? 4808?1512?? 0 08:21 ???????? 00:00:00 /sbin/init
root???????? 2????0? 0???? 0????0?? 0 08:21 ???????? 00:00:00 [kthreadd]
root???????? 3????2? 0???? 0????0?? 0 08:21 ???????? 00:00:00 [migration/0]
root???????? 4????2? 0???? 0????0?? 0 08:21 ???????? 00:00:00 [ksoftirqd/0]
[oldboy@zhang~]$?ps -ely |head -n5??
S??UID? ?PID?PPID? C PRI? NI??RSS??? SZ WCHAN? TTY?????????TIME CMD
S???? 0????1???? 0? 0?80?? 0? 1512?4808 poll_s ???????? 00:00:00 init
S???? 0????2???? 0? 0?80?? 0???? 0????0 kthrea ???????? 00:00:00kthreadd
S???? 0????3???? 2? 0 -40??-???? 0???? 0 migrat ???????? 00:00:00 migration/0
S???? 0????4???? 2? 0?80?? 0???? 0????0 ksofti ???????? 00:00:00ksoftirqd/0
查看系統每個進程的BSD【Unix系統分支】語法:
ps ax
ps axu
???????? 注意他們的區別
[oldboy@zhang~]$?ps ax | head-n5
??PID TTY?????STAT?? TIME COMMAND
??? 1 ????????Ss???? 0:00 /sbin/init
??? 2 ????????S????? 0:00 [kthreadd]
??? 3 ????????S????? 0:00 [migration/0]
??? 4 ????????S????? 0:00 [ksoftirqd/0]
[oldboy@zhang~]$?ps axu |head -n5???
USER?????? PID %CPU %MEM??? VSZ??RSS TTY????? STAT START?? TIME COMMAND
root???????? 1?0.0? 0.0? 19232?1512 ???????? Ss?? 08:21??0:00 /sbin/init
root???????? 2?0.0? 0.0????? 0????0 ???????? S??? 08:21??0:00 [kthreadd]
root???????? 3?0.0? 0.0????? 0????0 ???????? S??? 08:21??0:00 [migration/0]
root??????? ?4?0.0? 0.0????? 0????0 ???????? S??? 08:21??0:00 [ksoftirqd/0]
?????????上述欄位解釋:
USER?進程的屬主;
PID?? 進程的ID;
PPID??? 父進程;
%CPU?? 進程占用的CPU百分比;
%MEM? 占用內存的百分比;
NI????????進程的NICE值,數值大,表示較少占用CPU時間;
VSZ???? 該進程使用的虛擬內存量(KB);
RSS???? 該進程占用的固定內存量(KB)(駐留中頁的數量);
TTY???? 該進程在那個終端上運行(登錄者的終端位置),若與終端無關,則顯示(?)。若為pts/0等,則表示由網絡連接主機進程
WCHAN? 當前進程是否正在進行,若為-表示正在進行;
START?? 該進程被觸發啟動時間;
TIME????? 該進程實際使用CPU運行的時間;
COMMAND?? 命令的名稱和參數;
?
STAT狀態位常見的狀態字符
???????? D無法中斷的休眠狀態(通常 IO 的進程);
???????? R正在運行可中在隊列中可過行的;
???????? S處于休眠狀態;
???????? T停止或被追蹤;
???????? W進入內存交換? (從內核2.6開始無效);
???????? X死掉的進程?? (基本很少見);
???????? Z僵尸進程;
???????? <優先級高的進程
???????? N優先級較低的進程
???????? L有些頁被鎖進內存;
???????? s進程的領導者(在它之下有子進程);
???????? l多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads);
???????? +位于后臺的進程組;
打印進程樹
ps -ejH
ps axjf
???????? 自行查看
獲取線程信息
ps -eLf
ps axms
???????? 自行查看
………………
?
5、命令所在位置和類型
[oldboy@zhang~]$ which ps
/bin/ps
[oldboy@zhang~]$ type ps
ps is hashed(/bin/ps)
?
總結
- 上一篇: linux awk详解
- 下一篇: 高温保护_【美的空调维修案例】P2压缩机