linux作業系統ps命令詳細解析
要對系統中程序進行監測控制,用 ps 命令滿足你。
/bin/ps
ps 是顯示瞬間行程的狀態,並不動態連續;如果想對程序執行時間監控,應該用 top 工具。
kill 用於殺死程序。
**********====ps 的引數說明*************************===
l 長格式輸出;
u 按使用者名稱和啟動時間的順序來顯示程序;
j 用任務格式來顯示程序;
f 用樹形格式來顯示程序;
a 顯示所有使用者的所有程序(包括其它使用者);
x 顯示無控制終端的程序;
r 顯示執行中的程序;
ww 避免詳細引數被截斷;
-a 列出所有的行程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
-e 顯示所有程序,環境變數
-f 全格式
-h 不顯示標題
-l 長格式
-w 寬輸出
a 顯示終端上地所有程序,包括其他使用者地程序
r 只顯示正在執行地程序
x 顯示沒有控制終端地程序
我們常用的選項是組合是 aux 或 lax,還有引數 f 的應用。
o[+|-] k1 [,[+|-] k2 [,…]] 根據short keys、k1、k2中快捷鍵指定地多級排序順序顯示程序列表.
對於ps地不同格式都存在著預設地順序指定.這些預設順序可以被使用者地指定所覆蓋.在這裡面「+」字元是可選地,「-」字元是倒轉指定鍵地方向.
pids 只列出程序識別符號,之間運用逗號分隔.該程序列表必須在命令列引數地最後乙個選項後面緊接著給出,中間不能插入空格.比如:ps -f1,4,5.
下介紹長命令列選項,這些選項都運用「--」開頭:
--sort x[+|-] key [,[+|-] key [,…]] 從sort keys段中選乙個多字母鍵.「+」字元是可選地,因為預設地方向就是按數字公升序或者詞典順序.比如: ps -jax -sort=uid,-
ppid,+pid.
--help 顯示幫助資訊.
--version 顯示該命令地版本資訊.
在前面地選項說明中提到了排序鍵,接下來對排序鍵作進一步說明.需要注意地是排序中運用地值是ps運用地內部值,並非僅用於某些輸出格式地偽值.排序鍵列表見下表.
**********==排序鍵列表*************************=
c cmd 可執行地簡單名稱
c cmdline 完整命令列
f flags 長模式標誌
g pgrp 程序地組id
g tpgid 控制tty程序組id
j cutime 累計使用者時間
j cstime 累計系統時間
k utime 使用者時間
k stime 系統時間
m min_flt 次要頁錯誤地數量
m maj_flt 重點頁錯誤地數量
n cmin_flt 累計次要頁錯誤
n cmaj_flt 累計重點頁錯誤
o session 對話id
p pid 程序id
p ppid 父程序id
r rss 駐留大小
r resident 駐留頁
s size 記憶體大小(千位元組)
s share 共享頁地數量
t tty tty次要裝置號
t start_time 程序啟動地時間
u uid uid
u user 使用者名稱
v vsize 總地虛擬記憶體數量(位元組)
y priority 核心排程優先順序
***************==ps aux 或 lax 輸出的解釋*************************
2、ps aux 或 lax 輸出的解釋
au(x) 輸出格式 :
user pid %cpu %mem vsz rss tty stat start time command
user: 程序所有者
pid: 程序id
%cpu: 占用的 cpu 使用率
%mem: 占用的記憶體使用率
vsz: 占用的虛擬記憶體大小
rss: 占用的記憶體大小
tty: 終端的次要裝置號碼 (minor device number of tty)
stat: 程序狀態:
start: 啟動程序的時間;
time: 程序消耗cpu的時間;
command:命令的名稱和引數;
***************==程序stat狀態********************
d 無法中斷的休眠狀態(通常 io 的程序);
r 正在執行,在可中斷佇列中;
s 處於休眠狀態,靜止狀態;
t 停止或被追蹤,暫停執行;
w 進入記憶體交換(從核心2.6開始無效);
x 死掉的程序;
z 殭屍程序不存在但暫時無法消除;
w: 沒有足夠的記憶體分頁可分配
wchan 正在等待的程序資源;
<: 高優先順序程序
n: 低優先序程序
l: 有記憶體分頁分配並鎖在記憶體內 (即時系統或挨a i/o),即,有些頁被鎖進記憶體
s 程序的領導者(在它之下有子程序);
l 多程序的(使用 clone_thread, 類似 nptl pthreads);
+ 位於後台的程序組;
***************=kill 終止程序*************************
kill 終止程序
有十幾種控制程序的方法,下面是一些常用的方法:
kill -stop [pid]
傳送sigstop (17,19,23)停止乙個程序,而並不消滅這個程序。
kill -cont [pid]
傳送sigcont (19,18,25)重新開始乙個停止的程序。
kill -kill [pid]
傳送sigkill (9)強迫程序立即停止,並且不實施清理操作。
kill -9 -1
終止你擁有的全部程序。
sigkill 和 sigstop 訊號不能**捉、封鎖或者忽略,但是,其它的訊號可以。所以這是你的終極**。
***************==範例********************====
$ ps
pid tty time command
5800 ttyp0 00:00:00 bash
5835 ttyp0 00:00:00 ps
可以看到,顯示地專案共分為四項,依次為pid(程序id)、tty(終端名稱)、time(程序執行時間)、command(該程序地命令列輸入).
可以運用u選項來檢視程序所有者及其他少許詳細資訊,如下所示:
$ ps u
user pid %cpu %mem usz rss tty stat start time command
test 5800 0.0 0.4 1892 1040 ttyp0 s nov27 0:00 -bash
test 5836 0.0 0.3 2528 856 ttyp0 r nov27 0:00 ps u
在bash程序前面有條橫線,意味著該程序便是使用者地登入shell,所以對於乙個登入使用者來說帶短橫線地程序只有乙個.還可以看到%cpu、%mem兩個選項,前者指該程序占用地cpu時間
和總時間地百分比;後者指該程序占用地記憶體和總記憶體地百分比.
在這種情況下看到了所有控制終端地程序;當然對於其他那些沒有控制終端地程序還是沒有觀察到,所以這時就需要運用x選項.運用x選項可以觀察到所有地程序情況.
1)ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。
2)ps -a 顯示所有程式。
3)ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。
4)ps -e 此引數的效果和指定"a"引數相同。
5)ps e 列出程式時,顯示每個程式所使用的環境變數。
6)ps f 用ascii字元顯示樹狀結構,表達程式間的相互關係。
7)ps -h 顯示樹狀結構,表示程式間的相互關係。
8)ps -n 顯示所有的程式,除了執行ps指令終端機下的程式之外。
9)ps s 採用程式訊號的格式顯示程式狀況。
10)ps s 列出程式時,包括已中斷的子程式資料。
11)ps -t《終端機編號》 指定終端機編號,並列出屬於該終端機的程式的狀況。
12)ps u 以使用者為主的格式來顯示程式狀況。
13)ps x 顯示所有程式,不以終端機來區分。
最常用的方法是ps -aux,然後再用管道符號導向到grep去查詢特定的程序,然後再對特定的程序進行操作。
**:
linux命令大全之ps命令詳解 檢視程序結果
ps命令為我們提供了一次性的檢視程序結果,它所提供的檢視結果不是動態連續的 如果想對程序時間監控,應該用top工具 1.命令引數 a 顯示所有程序 a 顯示同一終端下的所有程式 a 顯示所有程序 c 顯示程序的真實名稱 n 反向選擇 e 等於 a e 顯示環境變數 f 顯示程式間的關係 h 顯示樹狀...
Linux 檢視程序之PS命令
要對程序進行檢測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序執行狀態。linux 系統中 我們可以使用 ps 命令檢視程序。ps 命令介紹 ps process status 命令是 linux 下最常用的程序檢視工具,使用該命令可以確定哪些程序正在執行和執行的狀態 程序是否結束 程...
程序檢視命令 ps
ps 命令及其引數 ps 命令最經常使用地還是用於監控後台程序地工作情況,因為後台程序是不和螢幕鍵盤這些標準輸入 輸出設 備進行通訊地,所以如果需要檢測其情況,便可以運用 ps 命令了.該命令語法格式如下 ps 選項 e 顯示所有程序,環境變數 f 全格式 h 不顯示標題 l 長格式 w 寬輸出 a...