ps 指令詳解

2022-03-20 09:04:46 字數 4285 閱讀 4141

fork 程序:

1,pstree -p |grep panda

2,ps -tef|grep panda       (pid,thread id,ppid)

3,ps -h -ef|grep panda

linux上程序有5種狀態:

1. 執行(正在執行或在執行佇列中等待)

2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號)

3. 不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷發生)

4. 僵死(程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放)

5. 停止(程序收到sigstop, sigstp, sigtin, sigtou訊號後停止執行執行)

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   顯示所有程式,不以終端機來區分。

14)ps -l     較長,較詳細的顯示該pid的資訊

# ps -la |more

f s   uid   pid  ppid  c pri  ni addr sz   wchan     tty            time          cmd

4 s     0     1     0        0  76   0     -  1193 109952       ?             00:00:03 init

1 s     0     2     1        0 -40   -      -     0    migrat        ?             00:00:03 migration/0

1 s     0     3     1        0  94  19    -     0     ksofti         ?             00:00:00 ksoftirqd/0

1 s     0     4     1        0 -40   -      -     0    migrat        ?             00:00:02 migration/1

1 s     0     5     1        0  94  19    -     0    ksofti          ?             00:00:00 ksoftirqd/1

1 s     0     6     1        0 -40   -      -     0    migrat        ?             00:00:02 migration/2

1 s     0     7     1        0  94  19    -     0    ksofti          ?             00:00:00 ksoftirqd/2

相關資訊的意義:

f  程序的標誌(flag),4表示使用者為超級使用者

s  程序的狀態(stat),各stat的意義見下文

pid   程序的id

c   cpu使用資源的百分比

pri   priority(優先順序)的縮寫,

ni     nice值,

addr  核心功能,指出該程序在記憶體的那一部分,如果是執行的程序,一般都是「-」

sz     用掉的記憶體的大小

wchan   當前程序是否正在執行,若為「-」表示正在執行

tty     登陸者的終端位置

time   用掉的cpu的時間

cmd    所執行的指令

# ps aux |more

user       pid %cpu %mem   vsz  rss  tty                   stat     start   time     command

root         1        0.0  0.0       4772  564 ?                         s        sep22   0:03     init [3]

root         2        0.0  0.0        0    0        ?                         s        sep22   0:03     [migration/0]

root         3        0.0  0.0        0    0        ?                         sn      sep22   0:00     [ksoftirqd/0]

root         4        0.0  0.0        0    0        ?                         s        sep22   0:02     [migration/1]

root         5        0.0  0.0        0    0        ?                         sn      sep22   0:00     [ksoftirqd/1]

root         6        0.0  0.0        0    0        ?                         ss+     sep22   0:02     [migration/2]

root         7        0.0  0.0        0    0        ?                         sn      sep22   0:00     [ksoftirqd/2]

root         8        0.0  0.0        0    0        ?                         s        sep22   0:00     [migration/3]

root         9        0.0  0.0        0    0        ?                         sn      sep22   0:00     [ksoftirqd/3]

root        10       0.0  0.0        0    0        ?                         s<      sep22    0:00     [migration/4]

上述字段解釋:

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指令說明

最常用的ps命令引數是a u x,比如命令ps aux grep boardserver,是用來查詢名為 boardserver 的程序資訊。這個命令的含義是,ps aux是獲取所有程序 其中包含其他使用者的程序 grep 是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字 前面的 管道符號,表示...

ps命令詳解

平時linux程序檢視還是比較常用的,於是我研究了一下linux ps命令的使用方式,在這裡拿出來和大家分享一下,希望對大家有用。linux監控工具大全 1.ps簡介前面介紹的兩個命令 who w命令 都是用於檢視當前系統使用者的情況,下面就來看看程序的情況,這也是本章的主題。要對程序進行監測和控制...

PS命令詳解

要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,ps命令就是最基本程序檢視命令。使用該命令可 以確定有哪些程序正在執行和執行的狀態 程序是否結束 程序有沒有殭屍 哪些程序占用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到。ps是顯示瞬間程序的狀態,並不動態連...