ps程序控制與管理

2021-09-05 04:19:55 字數 2142 閱讀 4412

系統中每個程序都以兩種方式存在:前台(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...