系統中每個程序都以兩種方式存在:前台(foreground)與後台(background),前台就是使用者在當前螢幕進行的操作,後台是程序進行的實際操作。「ps」命令是「process status」的縮寫,執行時可以不加任何引數,顯示資訊如下:
pid程序的id,方便結程序
ttytime 此程序消耗cpu的時間
cmd 正在執行的命令或程序名
為了顯示詳細資訊可以使用 ps -l:
f 程序狀態標記,常用的有:
名稱標識碼說明
alginwarn
001列印警告資訊
starting
002程序正在開始
exiting
004系統正在關機
ptraced
010表示已經呼叫ptrace(0)
tracesys
020追蹤system call
forknoexec
040已執行fork 但沒執行exec
superpriv
100以root身份執行
dumpcode
200核心轉出
signaled
400以singal中止程序
s 程序狀態碼,可用下表說明:
標識說明d
不可中斷的閒置狀態(uninterrruptible sleep)
r可執行的
s閒置狀態
t追蹤或停止
z已死亡的程序(zombie)
w沒有足夠的內在分頁可分配
<
高優先順序的程序
n低優先順序的程序
l有記憶體分頁分配並鎖在內在內
uid 程序執行者的user id
ppid
程序的父程序id
pri
程序執行時的優先順序
ni程序nice值,可以在執行前用nice,執行中用renice來調整,數值是-20~19,越小優先順序越高
sz程序佔記憶體大小 以kb為單位
wchan
waiting channel 為程序或system call等待時的位址
以使用者格式顯示:
%cpu
cpu使用百分比
%mem
記憶體使用百分比
vsz使用虛擬記憶體大小
rss使用物理記憶體的大小
start
程序開始時間
ps x 來顯示後台執行的程序(由於資訊很多,中用管道取了一部分)
ps aux 經典命令,如果我們想查詢特定程序比如firefox 可台這樣 ps aux | grep firefox
你可能已經注意到了上面的 ps u, ps x , ps aux這三個命令的引數為什麼沒有 「-」呢?檢視一下幫助就明白了,它用的是bsd語法。
還有乙個比較有用的是:
ps -o 屬性.1,屬性2..
這個可以按程序的屬性查詢,上面圖中每個命令的第一行都是程序的屬性。
最靈活的當屬:ps [options] | grep
pgrep,有人可以無法分清pgrep與grep,我來簡單說一下,pgrep字首p(process),說明是對程序的,可以基於程序的屬性和名稱來查詢程序,pgrep返回的是程序id;grep呢是從乙個流(檔案的輸入與輸出)中查詢匹配的項。如果我們準確的知道程序的名稱,可以使用 pidof 的方式來獲得程序id,這在程式設計中十分有用。
按id kill [signal] pid ...
按名稱 killall [signal] pidname...
按模式 pkill [signal] mode
這裡的signal主要記住這幾個:
1 hup 重讀配置檔案
9 kill 立即終止
15 term(預設) 正常終止
更多signal資訊,使用 man 7 singal來檢視。
由程序引發的,如果實時檢視程序狀態,前台執行,後台執行。
bg 後台執行如果我們想讓乙個程序後台執行,可以類似於這樣firefox &
fg 前台執行,可以將後台執行的任務恢復到前台執行。
ctrl+z 暫時停止任務,這個任務可以用bg恢復在後台執行,fg恢復前台執行
jobs 列出任務的編號與名稱
注:查詢程序詳細資訊
#ps aux|grep 29195可檢視具體的程序呼叫資訊
程序控制與管理
檢視和控制程序 程式和程序的關係 程式 儲存在硬碟 光碟等介質中的可執行 和資料 是靜態儲存的 程序 在cpu及記憶體中執行的程式 是動態執行的 父子程序 每個程序可以建立乙個或多個程序 a 檢視程序 1.ps 命令 檢視靜態的程序統計資訊 a 顯示當前中斷下所有程序資訊 u 使用以使用者為主的格式...
程序管理 八 程序控制
在作業系統中,通常把程序控制用程式段做成原語。為了在併發執行過程中執行程序控制任務時候,減少系統的開銷和複雜度 建立方式 特點由系統程式模組統一建立 關係是平等 它們之間一般不存在資源繼承關係 由父程序建立 程序之間則存在隸屬關係 子程序可繼承父程序資源 建立方式總結 1.無論是哪一種方式建立程序,...
PS檢視,控制程序
程式 程式是儲存在外部儲存介質 如硬碟 中的可執行 和資料的靜態集合 程序 程序是執行在cpu及記憶體中出於動態執行狀態的電腦程式,每個程式啟動後可以建立多個程序 例如web,大量使用者同時訪問是,httpd服務會建立多個程序來提供服務 1.ps命令 檢視靜態的程序統計資訊 processessta...