ps, top, pstree

ps

查看當前終端所啓動的進程, 不加選項只查看當前終端的進程html

PID         TTY     TIME        CMD         
2398        pts/1   00:00:00    bash 
3625        pts/1   00:00:00    ps 
#PID    : Process ID,是進程的惟一標識, 雖然是int 可是從0開始使用, OS使用延遲重用算法來分配進程的編號, 從而保證任意時刻進程號都是惟一的(對OS來講是惟一的,eg: 連續執行兩次同一個a.out,也是兩個進程,有PID1.PID2,  因此必定不能把剛剛使用過的PID號PID1給新的進程,不然OS就不知道是以前的沒關仍是新的剛建立)
#TTY    :終端的次要裝置號碼,tetetype, 用來表示終端類型
#TIME   :消耗cpu的時間 
#CMD    :命令,即進程名

ps aux

查看全部進程,ps aux是BSD syntax,ps -aux是standard syntax, 但兩者的意義徹底不一樣=>$man ps算法

$ps aux | more      #輸出的太多, 把$ps aux執行的結果交給$more, =>回車翻一行,空格翻一頁, q退出
USER    PID     %CPU    %MEM    VSZ     RSS     TTY STAT    START   TIME    COMMAND 
root    1       0.0     0.0     3740    2156    ?    Ss     08:28   0:00    /sbin/init 
root    2       0.0     0.0      0      0       ?    S      08:28   0:00    [kthreadd] 
root    3       0.0     0.0      0      0       ?    S      08:28   0:00    [ksoftirqd/0] 
--More--

#USER       :用戶
#%CPU       :佔用CPU百分比
#%MEM       :佔用MEM百分比
#VSZ        :虛擬內存大小
#RSS        :物理內存大小
#STAT       :進程的狀態信息
    S       :休眠狀態(爲了減輕CPU壓力)
    s       :進程的領導者, 擁有子進程,樹型的根節點
    Z       :殭屍進程, 進程已經結束, 可是資源沒有回收
    R       :正在運行的進程
    O       :能夠運行的進程
    T       :掛起狀態的進程
    <       :優先級比較高的進程
    >       :優先級比較低的進程
#START      :進程的啓動時間

ps -ef

以全格式的方式顯示全部進程(every)查看當前終端所啓動的進程, 不加選項只查看當前終端的進程bash

PID         TTY        TIME         CMD         
2398        pts/1    00:00:00   bash 
3625        pts/1    00:00:00   ps 
#PID    : Process ID,是進程的惟一標識, 雖然是int 可是從0開始使用, OS使用延遲重用算法來分配進程的編號, 從而保證任意時刻進程號都是惟一的(對OS來講是惟一的,eg: 連續執行兩次同一個a.out,也是兩個進程,有PID1.PID2,  因此必定不能把剛剛使用過的PID號PID1給新的進程,不然OS就不知道是以前的沒關仍是新的剛建立)
#TTY    :終端的次要裝置號碼,tetetype, 用來表示終端類型
#TIME   :消耗cpu的時間 
#CMD    :命令,即進程名

ps aux

查看全部進程,ps aux是BSD syntax,ps -aux是standard syntax, 但兩者的意義徹底不一樣=>$man pssession

$ps aux | more      #輸出的太多, 把$ps aux執行的結果交給$more, =>回車翻一行,空格翻一頁, q退出
USER    PID     %CPU    %MEM    VSZ     RSS     TTY STAT    START   TIME    COMMAND 
root    1       0.0     0.0     3740    2156    ?    Ss     08:28   0:00    /sbin/init 
root    2       0.0     0.0      0      0       ?    S      08:28   0:00    [kthreadd] 
root    3       0.0     0.0      0      0       ?    S      08:28   0:00    [ksoftirqd/0] 
--More--

#USER       :用戶
#%CPU       :佔用CPU百分比
#%MEM       :佔用MEM百分比
#VSZ        :虛擬內存大小
#RSS        :物理內存大小
#STAT       :進程的狀態信息
    S       :休眠狀態(爲了減輕CPU壓力)
    s       :進程的領導者, 擁有子進程,樹型的根節點
    Z       :殭屍進程, 進程已經結束, 可是資源沒有回收
    R       :正在運行的進程
    O       :能夠運行的進程
    T       :掛起狀態的進程
    <       :優先級比較高的進程
    >       :優先級比較低的進程
#START      :進程的啓動時間

ps -ef

以全格式的方式顯示全部進程(every)app

F   S   UID     PID     PPID    C   PRI NI  ADDR    SZ  WCHAN       TTY TIME        CMD 
4   S   0       1       0       0   80  0   -       935 poll_s      ?   00:00:00    init 
1   S   0       2       0       0   80  0   -       0   kthrea      ?   00:00:00    kthreadd
#PPID   :父進程的編號(IMPORTANT)
#C      :佔用CPU百分比
#STIME  :啓動時間
F   S   UID     PID     PPID    C   PRI NI  ADDR    SZ  WCHAN       TTY TIME        CMD 
4   S   0       1       0       0   80  0   -       935 poll_s      ?   00:00:00    init 
1   S   0       2       0       0   80  0   -       0   kthrea      ?   00:00:00    kthreadd
#PPID   :父進程的編號(IMPORTANT)
#C      :佔用CPU百分比
#STIME  :啓動時間

ps -axj

顯示系統的守護進程.net

$ps -axj
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    0     1     1     1 ?           -1 Ss       0   0:01 /sbin/init
    0     2     0     0 ?           -1 S        0   0:00 [kthreadd]
    2     3     0     0 ?           -1 S        0   0:02 [ksoftirqd/0]
    2     5     0     0 ?           -1 S        0   0:02 [kworker/u:0]
    2     6     0     0 ?           -1 S        0   0:00 [migration/0]
    2     7     0     0 ?           -1 S        0   0:01 [watchdog/0]
    2     8     0     0 ?           -1 S        0   0:00 [migration/1]
    2    10     0     0 ?           -1 S        0   0:02 [ksoftirqd/1]

top

$top [-dbnp] #動態查看進程的變化
-d 數字 #後面能夠接刷新的,默認是5秒。
-b #以批次的方式執行top,還有更多的參數可使用。
#一般會搭配數據流重定向來將批處理的結果輸出成文件
-n #與-b 搭配,意義是,須要進行幾回top的輸出結果
-p pid #指定某些個PID來進行查看監測
Note:在top執行過程中可使用的按鍵命令
: 顯示在top當中能夠輸入的按鍵命令
P: 以CPU的使用資源排序顯示
M: 之內存的使用資源排序顯示
N: 以PID順序排序
T: 由該進程使用的CPU時間累積(TIME+)排序
k: 給予某個PID一個信號 (signal)
r: 給予某個PID從新制定一個nice值
q: 離開top的按鍵code

pstree

stree [-A|U] [-up]
A #各進程樹之間的鏈接以ASCII字符來鏈接
U #各進程樹之間的鏈接以utf8碼的字符來鏈接,在某些終端端口寫可能會有錯誤
u #同時列出每一個進程的所屬賬號名稱
-p#同時列出每一個進程的PIDhtm

$pstree -A
init-+-NetworkManager-+-dnsmasq
     |                `-2*[{NetworkManager}]
     |-accounts-daemon---{accounts-daemon}
     |-irqbalance
     |-lightdm-+-Xorg---2*[{Xorg}]
     |         |-lightdm-+-gnome-session-+-bluetooth-apple---2*[{bluetooth-apple}]
     |         |         |               |-deja-dup-monito---2*[{deja-dup-monito}]
$pstree -U
init─┬─NetworkManager─┬─dnsmasq
     │                └─2*[{NetworkManager}]
     ├─accounts-daemon───{accounts-daemon}
     ├─acpid
     ├─atd
     ├─avahi-daemon───avahi-daemon
     ├─bluetoothd
     ├─colord───2*[{colord}]
     ├─gnome-terminal─┬─bash───pstree
     │                ├─gnome-pty-helpe
     │                └─3*[{gnome-terminal}]
     ├─goa-daemon───{goa-daemon}
     ├─gsd-locate-poin───2*[{gsd-locate-poin}]
相關文章
相關標籤/搜索