您好,登錄后才能下訂單哦!
要對進程進行監(jiān)測和控制,首先必須要了解當(dāng)前進程的情況,也就是需要查看當(dāng)前進程,而ps命令就是最基本同時也是非常強大的進程查看命令.使用該命令可以確定有哪些進程正在運行和運行的狀態(tài)、進程是否結(jié)束、進程有沒有僵尸、哪些進程占用了過多的資源等等.總之大部分信息都是可以通過執(zhí)行該命令得到的.
ps命令最常用的還是用于監(jiān)控后臺進程的工作情況,因為后臺進程是不和屏幕鍵盤這些標準輸入/輸出設(shè)備進行通信的,所以如果需要檢測其情況,便可以使用ps命令了.
1)ps a 顯示現(xiàn)行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務(wù)的標示。
4)ps -e 此參數(shù)的效果和指定"A"參數(shù)相同。
5)ps e 列出程序時,顯示每個程序所使用的環(huán)境變量。
6)ps f 用ASCII字符顯示樹狀結(jié)構(gòu),表達程序間的相互關(guān)系。
7)ps -H 顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系。
8)ps -N 顯示所有的程序,除了執(zhí)行ps指令終端機下的程序之外。
9)ps s 采用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號> 指定終端機編號,并列出屬于該終端機的程序的狀況。
12)ps u 以用戶為主的格式來顯示程序狀況。
13)ps x 顯示所有程序,不以終端機來區(qū)分。
最常用的方法是ps -aux,然后再利用一個管道符號導(dǎo)向到grep去查找特定的進程,然后再對特定的進程進行操作。
linux上進程有5種狀態(tài):
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發(fā)生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調(diào)用wait4()系統(tǒng)調(diào)用后釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行)
ps工具標識進程的5種狀態(tài)碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
注: 其它狀態(tài)還包括W(無駐留頁), <(高優(yōu)先級進程), N(低優(yōu)先級進程), L(內(nèi)存鎖頁).
使用ps格式輸出來查看進程狀態(tài):
ps -eo user,stat..,cmd
user 用戶名
uid 用戶號
pid 進程號
ppid 父進程號
size 內(nèi)存大小, Kbytes字節(jié).
vsize 總虛擬內(nèi)存大小, bytes字節(jié)(包含code+data+stack)
share 總共享頁數(shù)
nice 進程優(yōu)先級(缺省為0, 最大為-20)
priority(pri) 內(nèi)核調(diào)度優(yōu)先級
pmem 進程分享的物理內(nèi)存數(shù)的百分比
trs 程序執(zhí)行代碼駐留大小
rss 進程使用的總物理內(nèi)存數(shù), Kbytes字節(jié)
time 進程執(zhí)行起到現(xiàn)在總的CPU暫用時間
stat 進程狀態(tài)
cmd(args) 執(zhí)行命令的簡單格式
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。