1. 程式人生 > >Linux(十五)進程管理

Linux(十五)進程管理

終端 kill CI 無法 rip uid 進程管理 僵屍進程 停止

15.1 進程的基本介紹

(1)在linux中,每個執行的程序都稱為一個進程,每一個進程都分配一個ID號。

(2)每一個進程都會對應一個父進程,而這個父進程可以復制多個子線程。例如:www服務器

(3)每個進程都可能以兩種方式存在的。前臺與後臺,所謂前臺進程就是用戶目前的屏幕上可以進行操作的。後臺進程則是實際在操作,但由於屏幕上無法看到的進程,通常使用後臺方式執行。

(4)一般系統的服務都是以後臺進程的方式存在,而且都會常駐在系統中,直到關機才結束。

15.2 顯示系統執行的進程

15.2.1 指令 ps -aux

ps -a:顯示當前終端的所有進程信息

ps -u:以用戶的格式顯示進程信息

ps -x:顯示後臺進程運行的參數

15.2.2 進程信息說明

技術分享圖片

USE:用戶名稱

PID:進程號

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

%MEM:進程占用物理內存的百分比

VSZ:進程占用的虛擬內存大小(單位:KB)

RSS:進程占用的物理內存大小(單位:KB)

TTY:終端名稱,縮寫

STAT:進程狀態,其中S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵屍進程,T-被跟蹤或者被停止等等。

STARTED:進程的啟動時間

TIME:CPU時間,即進程使用CPU的總時間

COMMAND:啟動進程所用的命令和參數,如果過長會被截斷顯示

15.2.3 應用實例

要求:以全格式顯示當前所有的進程,查看進程的父進程。

技術分享圖片

ps -ef:是以全格式顯示當前所有的進程

-e:顯示所有進程,-f:全格式

ps -ef | grep xxx 是BSD風格

UID:用戶ID

PID:進程ID

C:CPU用於計算執行優先級的因子。數值越大,表明進程是是CPU密集型運算,執行優先級會降低;數值越小,表明進程是I/O密集型運算,執行優先級會提高。

STIME:進程啟動的時間

TTY:完整的終端名稱

TIME:CPU時間

CMD:啟動進程所用的命令和參數

技術分享圖片

15.3 終止進程kill和killall

15.3.1 介紹

若是某個進程執行到一半需要停止時,或是已經消耗了很大的系統資源時,此時可以考慮停止該進程。使用kill命令來完成此項任務。

15.3.2 基本語法

kill [選項] 進程號(通過進程號殺死進程)

killall 進程名稱(通過進程名稱殺死進程,也支持通配符,這在系統因負載過大而變得很慢是時很有用)

常用選項:-9(表示強迫進程立即停止)

15.3.3 實踐

(1)先登錄一個非root用戶

技術分享圖片

(2)在root用戶下查看當前的sshd

技術分享圖片

(3)殺掉3660

技術分享圖片

15.4 查看進程樹pstree

15.4.1 基本語法

pstree [選項],可以更加直觀的來看進程信息

15.4.2 常用選項

-p:顯示進程的PID

-u:顯示進程的所屬用戶

15.4.3 實例

技術分享圖片

Linux(十五)進程管理