要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序, 而ps命令(process status)就是最基本同時也是非常強大的程序檢視命令.
使用ps命令 可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有殭屍、哪些程序占用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到的.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命令,會顯示所有程序的狀態,通常結合grep命令檢視某程序的狀態。
grep (global search regular expression(re) and print out the line,全面搜尋正規表示式並把行列印出來)是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。示例:
輸入命令:ps -aux| grep ./update_stockps -aux輸出格式:[root@node20 updatedb]# ps aux|grep ./update_stock
輸出:root 14232 0.0 0.0 5928 724 pts/1 s+ 18:16 0:00 grep ./update_stock
root 25021 0.0 0.0 3056 816 ? s apr12 0:03 ./update_stock
user pid %cpu %mem vsz rss tty stat start time command
user: 行程擁有者
pid: pid
%cpu: 占用的 cpu 使用率
%mem: 占用的記憶體使用率
vsz: 占用的虛擬記憶體大小
rss: 占用的記憶體大小
tty: 終端的次要裝置號碼 (minor device number of tty)
stat: 該行程的狀態,linux的程序有5種狀態:
d 不可中斷 uninterruptible sleep (usually io)start: 行程開始時間r 執行 runnable (on run queue)
s 中斷 sleeping
t 停止 traced or stopped
z 僵死 a defunct (」zombie」) process
注: 其它狀態還包括w(無駐留頁), <(高優先順序程序), n(低優先順序程序), l(記憶體鎖頁).
time: 執行的時間
command:所執行的指令
ps 為我們提供了程序的一次性的檢視,它所提供的檢視結果並不動態連續的;如果想對程序時間監控,應該用 top 工具。
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 訊號不能**捉、封鎖或者忽略,但是,其它的訊號可以。所以這是你的終極**。
執行(正在執行或在執行佇列中等待)
中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號)
不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷發生)
僵死(程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放)
停止(程序收到sigstop, sigstp, sigtin, sigtou訊號後停止執行執行)
linux 檢視程序占用記憶體
top b n 1 grep opera awk cpu 0.0 mem 26.4 其中 rss 程序實際占用物理記憶體大小 vsz 任務虛擬位址空間的大小 root localhost cat proc self statm 654 57 44 0 0 334 0 以下是我自己的理解 從上面可以看...
linux 檢視程序占用記憶體
top b n 1 grep opera awk cpu 0.0 mem 26.4 其中 rss 程序實際占用物理記憶體大小 vsz 任務虛擬位址空間的大小 root localhost cat proc self statm 654 57 44 0 0 334 0 以下是我自己的理解 從上面可以看...
linux 檢視程序占用記憶體
top b n 1 grep opera awk cpu 0.0 mem 26.4 其中 rss 程序實際占用物理記憶體大小 vsz 任務虛擬位址空間的大小 root localhost cat proc self statm 654 57 44 0 0 334 0 以下是我自己的理解 從上面可以看...