日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ps aux 命令分析

發布時間:2025/3/17 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ps aux 命令分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

運行 ps aux 的到如下信息:

? ?ps aux

USER ? ?PID ? %CPU %MEM VSZ ? RSS TTY ? ?STAT ? START TIME COMMAND

smmsp 3521 ? 0.0 ? ?0.7 ? ? 6556 1616 ? ? ? ? ? ? ?Ss ? ? ?20:40 0:00 sendmail: Queue runner@01:00:00 f

root ? ?3532 ? ?0.0 ? ? ? 0.2 ? ? 2428 ? ?452 ? ? ? ? ? ? ?Ss ? ? ?20:40 0:00 gpm -m /dev/input/mice -t imps2

htt ? ? ? ?3563 ? ?0.0 ? ? ? 0.0 ? ?2956 ? ?196 ? ? ? ? ? ? ?Ss ? ? ? 20:41 0:00 /usr/sbin/htt -retryonerror 0

htt ? ? ? ?3564 ? ?0.0 ? ? ? 1.7 ? 29460 3704 ? ? ? ? ? ? ?Sl ? ? ? ?20:41 0:00 htt_server -nodaemon

root ? ? ?3574 ? ?0.0 ? ? ? 0.4 ? ? 5236 992 ? ? ? ? ? ? ?Ss ? ? ? 20:41 0:00 crond

xfs ? ? ? ?3617 ? ?0.0 ? ? ? 1.3 ? 13572 2804 ? ? ? ? ? ? ?Ss ? ? ? 20:41 0:00 xfs -droppriv -daemon

root ? ? ? 3627 ? 0.0 ? ? ? 0.2 ? ? 3448 ? ?552 ? ? ? ? ? ? ?SNs ? ? 20:41 0:00 anacron -s

root ? ? ?3636 ? ?0.0 ? ? ? 0.1 ? ? 2304 ? ?420 ? ? ? ? ? ? ?Ss ? ? ? 20:41 0:00 /usr/sbin/atd

dbus ? ?3655 ? ?0.0 ? ? ? 0.5 ? 13840 1084 ? ? ? ? ? ? ?Ssl ? ? ? 20:41 0:00 dbus-daemon-1 --system

....................................

stat 中的參數意義如下:

? ?D 不可中斷 Uninterruptible(usually IO)

? ?R 正在運行,或在隊列中的進程

? ?S 處于休眠狀態

? ?T 停止或被追蹤

? ?Z 僵尸進程

? ?W 進入內存交換(從內核2.6開始無效)

? ?X ? 死掉的進程


? ? < 高優先級

? ? n ? 低優先級

? ? s ? 包含子進程

? ? + ? 位于后臺的進程組


======================================

ps命令?

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

ps命令最常用的還是用于監控后臺進程的工作情況,因為后臺進程是不和屏幕鍵盤這些標準輸入/輸出設備進行通信的,所以如果需要檢測其情況,便可以使用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 -aux,然后再利用一個管道符號導向到grep去查找特定的進程,然后再對特定的進程進行操作。




linux上進程有5種狀態:

1. 運行(正在運行或在運行隊列中等待)

2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)

3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)

4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放)

5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行)


ps工具標識進程的5種狀態碼:

D 不可中斷 uninterruptible sleep (usually IO)

R 運行 runnable (on run queue)

S 中斷 sleeping

T 停止 traced or stopped

Z 僵死 a defunct (”zombie”) process


注: 其它狀態還包括W(無駐留頁), <(高優先級進程), N(低優先級進程), L(內存鎖頁).


使用ps格式輸出來查看進程狀態:

ps -eo user,stat..,cmd


user 用戶名

uid 用戶號

pid 進程號

ppid 父進程號

size 內存大小, Kbytes字節.

vsize 總虛擬內存大小, bytes字節(包含code+data+stack)

share 總共享頁數

nice 進程優先級(缺省為0, 最大為-20)

priority(pri) 內核調度優先級

pmem 進程分享的物理內存數的百分比

trs 程序執行代碼駐留大小

rss 進程使用的總物理內存數, Kbytes字節

time 進程執行起到現在總的CPU暫用時間

stat 進程狀態

cmd(args) 執行命令的簡單格式


例子:

查看當前系統進程的uid,pid,stat,pri, 以uid號排序.

ps -eo pid,stat,pri,uid –sort uid


查看當前系統進程的user,pid,stat,rss,args, 以rss排序.

ps -eo user,pid,stat,rss,args –sort rss




名稱:ps?

使用權限:所有使用者?

使用方式:ps [options] [--help]?

說明:顯示瞬間行程 (process) 的動態?

參數:?

ps 的參數非常多, 在此僅列出幾個常用的參數并大略介紹含義?

-A 列出所有的行程?

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

-au 顯示較詳細的資訊?

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


au(x) 輸出格式 :?


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: 該行程的狀態:?

D: 不可中斷的靜止?

R: 正在執行中?

S: 靜止狀態?

T: 暫停執行?

Z: 不存在但暫時無法消除?

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

<: 高優先序的行程?

N: 低優先序的行程?

L: 有記憶體分頁分配并鎖在記憶體內?

START: 行程開始時間?

TIME: 執行的時間?

COMMAND:所執行的指令?


范例:?


ps?

PID TTY TIME CMD?

2791 ttyp0 00:00:00 tcsh?

3092 ttyp0 00:00:00 ps?

% ps -A?

PID TTY TIME CMD?

1 ? 00:00:03 init?

2 ? 00:00:00 kflushd?

3 ? 00:00:00 kpiod?

4 ? 00:00:00 kswapd?

5 ? 00:00:00 mdrecoveryd?

.......?

% ps -aux?

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND?

root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]?

root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]?

root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]?

root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]?

........


要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而 ps 命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多 的資源等等??傊蟛糠中畔⒍际强梢酝ㄟ^執行該命令得到的。


ps 為我們提供了進程的一次性的查看,它所提供的查看結果并不動態連續的;如果想對進程時間監控,應該用 top 工具。


kill 用于殺死進程。


1、ps 的參數說明

ps 提供了很多的選項參數,常用的有以下幾個:


l 長格式輸出;

u 按用戶名和啟動時間的順序來顯示進程;

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

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


a 顯示所有用戶的所有進程(包括其它用戶);

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

r 顯示運行中的進程;

ww 避免詳細參數被截斷;


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


2、ps aux 或 lax 輸出的解釋

USER 進程的屬主;

PID 進程的ID;

PPID 父進程;

%CPU 進程占用的CPU百分比;

%MEM 占用內存的百分比;

NI 進程的NICE值,數值大,表示較少占用CPU時間;

VSZ 進程虛擬大小;

RSS 駐留中頁的數量;

TTY 終端ID

STAT 進程狀態(有以下幾種)


D 無法中斷的休眠狀態(通常 IO 的進程);

R 正在運行可中在隊列中可過行的;?

S 處于休眠狀態;

T 停止或被追蹤;?

W 進入內存交換(從內核2.6開始無效);

X 死掉的進程(從來沒見過);

Z 僵尸進程;


< 優先級高的進程?

N 優先級較低的進程?

L 有些頁被鎖進內存;?

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

l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads);

+ 位于后臺的進程組;

WCHAN 正在等待的進程資源;

START 啟動進程的時間;

TIME 進程消耗CPU的時間;

COMMAND 命令的名稱和參數;


3、應用舉例

[root@localhost ~]# ps -aux |more

可以用 | 管道和 more 連接起來分頁查看。

[root@localhost ~]# ps -aux > ps001.txt

[root@localhost ~]# more ps001.txt

這里是把所有進程顯示出來,并輸出到ps001.txt文件,然后再通過more 來分頁查看。


4、kill 終止進程

有十幾種控制進程的方法,下面是一些常用的方法:?

kill -STOP [pid]?

發送SIGSTOP (17,19,23)停止一個進程,而并不消滅這個進程。?

kill -CONT [pid]?

發送SIGCONT (19,18,25)重新開始一個停止的進程。?

kill -KILL [pid]?

發送SIGKILL (9)強迫進程立即停止,并且不實施清理操作。?

kill -9 -1?


2009-04-21


轉載于:https://blog.51cto.com/hi289/1754994

總結

以上是生活随笔為你收集整理的ps aux 命令分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。