萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux操作系統PS命令詳細解析

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

要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而 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

終止你擁有的全部進程。

SIGKILL 和 SIGSTOP 信號不能被捕捉、封鎖或者忽略,但是,其它的信號可以。所以這是你的終極武器

copyright © 萬盛學電腦網 all rights reserved