Linux作業系統PS命令詳細解析

2022-09-24 01:00:15 字數 4399 閱讀 1989

linux作業系統ps命令詳細解析

要對系統中程序進行監測控制,用 ps 命令滿足你。

/bin/ps

ps 是顯示瞬間行程的狀態,並不動態連續;如果想對程序執行時間監控,應該用 top 工具。

kill 用於殺死程序。

**********====ps 的引數說明*************************===

l 長格式輸出;

u 按使用者名稱和啟動時間的順序來顯示程序;

j 用任務格式來顯示程序;

f 用樹形格式來顯示程序;

a 顯示所有使用者的所有程序(包括其它使用者);

x 顯示無控制終端的程序;

r 顯示執行中的程序;

ww 避免詳細引數被截斷;

-a 列出所有的行程

-w 顯示加寬可以顯示較多的資訊

-au 顯示較詳細的資訊

-aux 顯示所有包含其他使用者的行程

-e 顯示所有程序,環境變數

-f 全格式

-h 不顯示標題

-l 長格式

-w 寬輸出

a   顯示終端上地所有程序,包括其他使用者地程序

r   只顯示正在執行地程序

x   顯示沒有控制終端地程序

我們常用的選項是組合是 aux 或 lax,還有引數 f 的應用。

o[+|-] k1 [,[+|-] k2 [,…]] 根據short keys、k1、k2中快捷鍵指定地多級排序順序顯示程序列表.

對於ps地不同格式都存在著預設地順序指定.這些預設順序可以被使用者地指定所覆蓋.在這裡面「+」字元是可選地,「-」字元是倒轉指定鍵地方向.

pids 只列出程序識別符號,之間運用逗號分隔.該程序列表必須在命令列引數地最後乙個選項後面緊接著給出,中間不能插入空格.比如:ps -f1,4,5.

下介紹長命令列選項,這些選項都運用「--」開頭:

--sort x[+|-] key [,[+|-] key [,…]] 從sort keys段中選乙個多字母鍵.「+」字元是可選地,因為預設地方向就是按數字公升序或者詞典順序.比如: ps -jax -sort=uid,-

ppid,+pid.

--help 顯示幫助資訊.

--version 顯示該命令地版本資訊.

在前面地選項說明中提到了排序鍵,接下來對排序鍵作進一步說明.需要注意地是排序中運用地值是ps運用地內部值,並非僅用於某些輸出格式地偽值.排序鍵列表見下表.

**********==排序鍵列表*************************=

c cmd   可執行地簡單名稱

c cmdline   完整命令列

f flags   長模式標誌

g pgrp   程序地組id

g tpgid   控制tty程序組id

j cutime   累計使用者時間

j cstime   累計系統時間

k utime   使用者時間

k stime   系統時間

m min_flt   次要頁錯誤地數量

m maj_flt   重點頁錯誤地數量

n cmin_flt 累計次要頁錯誤

n cmaj_flt 累計重點頁錯誤

o session   對話id

p pid   程序id

p ppid   父程序id

r rss   駐留大小

r resident 駐留頁

s size   記憶體大小(千位元組)

s share   共享頁地數量

t tty   tty次要裝置號

t start_time 程序啟動地時間

u uid   uid

u user   使用者名稱

v vsize   總地虛擬記憶體數量(位元組)

y priority 核心排程優先順序

***************==ps aux 或 lax 輸出的解釋*************************

2、ps aux 或 lax 輸出的解釋

au(x) 輸出格式 :

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

user: 程序所有者

pid: 程序id

%cpu: 占用的 cpu 使用率

%mem: 占用的記憶體使用率

vsz: 占用的虛擬記憶體大小

rss: 占用的記憶體大小

tty: 終端的次要裝置號碼 (minor device number of tty)

stat: 程序狀態:

start: 啟動程序的時間;

time: 程序消耗cpu的時間;

command:命令的名稱和引數;

***************==程序stat狀態********************

d 無法中斷的休眠狀態(通常 io 的程序);

r 正在執行,在可中斷佇列中;

s 處於休眠狀態,靜止狀態;

t 停止或被追蹤,暫停執行;

w 進入記憶體交換(從核心2.6開始無效);

x 死掉的程序;

z 殭屍程序不存在但暫時無法消除;

w: 沒有足夠的記憶體分頁可分配

wchan 正在等待的程序資源;

<:>

n: 低優先序程序

l: 有記憶體分頁分配並鎖在記憶體內 (即時系統或挨a i/o),即,有些頁被鎖進記憶體

s 程序的領導者(在它之下有子程序);

l 多程序的(使用 clone_thread, 類似 nptl pthreads);

+ 位於後台的程序組;

***************=kill 終止程序*************************

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 訊號不能**捉、封鎖或者忽略,但是,其它的訊號可以。所以這是你的終極**。

***************==範例********************====

$ ps

pid tty time command

5800 ttyp0 00:00:00 bash

5835 ttyp0 00:00:00 ps

可以看到,顯示地專案共分為四項,依次為pid(程序id)、tty(終端名稱)、time(程序執行時間)、command(該程序地命令列輸入).

可以運用u選項來檢視程序所有者及其他少許詳細資訊,如下所示:

$ ps u

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

test 5800 0.0 0.4 1892 1040 ttyp0 s nov27 0:00 -bash

test 5836 0.0 0.3 2528 856 ttyp0 r nov27 0:00 ps u

在bash程序前面有條橫線,意味著該程序便是使用者地登入shell,所以對於乙個登入使用者來說帶短橫線地程序只有乙個.還可以看到%cpu、%mem兩個選項,前者指該程序占用地cpu時間

和總時間地百分比;後者指該程序占用地記憶體和總記憶體地百分比.

在這種情況下看到了所有控制終端地程序;當然對於其他那些沒有控制終端地程序還是沒有觀察到,所以這時就需要運用x選項.運用x選項可以觀察到所有地程序情況.

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 -aux,然後再用管道符號導向到grep去查詢特定的程序,然後再對特定的程序進行操作。

Linux作業系統PS命令詳細解析

要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,而 ps 命令就是最基本同時也是非常強大的程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態 程序是否結束 程序有沒有僵死 哪些程序占用了過多的資源等等。總之大部分資訊都是可以通過執行該命令得到的。ps 為我們...

關於Linux作業系統程序操作(ps)命令簡介

1 ps 程序狀態查詢命令。命令格式 ps 選項 常用選項 a,顯示所有使用者程序。e,顯示程序環境變數。l,給出長列表。r,只顯示正在執行的程序。s,增加cpu時間和頁面出錯。w,按寬格式顯示輸出。預設情況下,如果輸出結果不能在一行裡顯示,將會縮短結果輸出。使用這個選項可以避免這個問題。txx,只...

Linux作業系統基本命令詳細說明

linux簡介 linux,免費開源,多使用者多工系統。基於linux有多個版本的衍生。redhat ubuntu debian等。常用指令 ls 顯示檔案或目錄 l 列出檔案詳細資訊l list a 列出當前目錄下所有檔案及目錄,包括隱藏的a all mkdir 建立目錄 p 建立目錄,若無父目錄...