查看當前終端所啓動的進程, 不加選項只查看當前終端的進程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是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 :進程的啓動時間
以全格式的方式顯示全部進程(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是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 :進程的啓動時間
以全格式的方式顯示全部進程(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 :啓動時間
顯示系統的守護進程.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 [-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
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}]