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是顯示瞬間程序的狀態,並不動態連...