Linux系統管理-進程管理
進程管理
進程:在CPU及內存中運行的程序指令,是動態執行的代碼
父/子進程:一個進程可以創建一個或多個子進程
PID:進程的ID編號
PPID:父進程ID編號
Linux包含以下三種進程:
- 交互進程:由一個shell啟動的進程。交互進程既可以在前臺運行,也可以在後臺運行。
- 批處理進程:這種進程和終端沒有聯系,是一個進程序列。
- 守護進程:Linux系統啟動時啟動的進程,並在後臺運行。
命令1:查看進程數pstree
格式:pstree [選項] [PID或者用戶名]
選項: -a 顯示完整的命令行
-u 列出個進程的所屬
-p 列出進程的PID
常用格式:pstree -ap [PID或用戶名]
命令2:查看進程快照ps
格式:ps [選項]
常用選項:aux 列出正在運行進程(最詳細的信息)
-elf 列出正在運行進程(會列出PID和PPID)
STAT列所體現進程所在的狀態
R 正在運行的狀態
S 處於休眠狀態,在需要時會被喚醒
D 不可中斷的休眠,通常為在等待I/O的時候出現
T 停止狀態
Z 僵屍狀態
命令3:進程動態排名工具top
格式:top [-d 刷新間隔(缺省為3秒)] [-u 用戶名]
在命令行環境下輸入top命令會進入top命令的交互模式,常用命令如下:
P,M 根據%CPU,%MEM降序排列
T 根據進程消耗的TIME降序排列
k 殺手指定的PID的進程
q 退出
記錄了linux的一分鐘、五分鐘和十五分鐘的平均負載
命令4:檢索進程信息命令pgrep
格式:pgrep [選項] [查詢條件]
選項: -l 輸出進程名和PID
-u 檢索指定用戶的進程
-t 檢索指定終端進程
進程的前後臺調度
前臺啟動:1、輸入正常的命令行。2、運行期間占用終端
後臺啟動:1、在命令行末尾添加“&”符號。2、運行期間不占用終端
掛起當前任務(轉入後臺並暫停運行):快捷鍵Ctrl+z
終止當前任務:Ctrl+c
查看後臺任務列表:jobs jobs -l [列出後臺任務的PID]
將後臺任務恢復到前臺運行:fg fg [任務編號]
激活後臺被掛起的任務:bg bg [任務編號]
***當未指定任務序號時,缺省為最近的一個後臺任務
關閉進程
按照PID殺死進程:kill PID (終止進程) kill -9 PID(強制結束進程)
按照進程名殺死進程:killall [進程名](終止進程)
Linux系統管理-進程管理