1. 程式人生 > >linux學習筆記二

linux學習筆記二

它的 程序 控制 提示 資源 進程控制 執行過程 博客 pre

進程(process)是程序實體運行的過程,是系統進行資源分配和調度的獨立單位,或者說是一個程序在處理機上的一次執行活動。

區分一下進程和程序

1.0 程序是一個靜態指令的集合;而進程是一個程序的動態執行過程,它具有生命期,是動態產生和消亡的程序不能申請系統資源,不能被系統調度,也不能作為獨立運行的單位,因此它不占用系統運行的資源。
2.0 程序和進程無一一對應的關系。
看一看windows系統的進程,線程
技術分享
技術分享



進程屬性
與windows系統一樣,在linux中也總是有許多進程在運行,每一個進程都有一個識別號,叫做PID(process ID),用以區分不同的進程。進程還有,擁有人id,進程名,進程狀態,父進程id以及運行時間等。
從linux操作系統的啟動過程來看,系統啟動後的第一個進程是init,它的pid是1,init是唯一一個右系統內核直接運行的進程,新的進程可以由fork來產生。
進程的狀態

技術分享

就緒狀態:進程已經獲得cpu以外的運行所需的全部資源。
運行狀態:進程占用cpu正在運行。
等待狀態:進程正在等待某一事件或某一資源
掛起狀態:正在運行的進程,因為某一原因失去cpu而暫停運行
終止狀態:進程已經結束
休眠狀態:進程主動暫時停止運行
僵死狀態:進程已經停止運行,但是相關 的控制信息扔保留。



進程的優先級:linux系統所有的進程根據其所處的狀態,按照時間順序排列形成不同的隊列。進程的優先級範圍為-20~19之間的整數,取值越小,優先級越高。
進程的類型

1.0 系統進程:操作系統啟動後。系統環境平臺運行所加載的進程,它不終端或者用戶關聯**
2.0 用戶進程:與終端關聯,使用一個用戶id,是由用戶所執行的程序。
3.0 守護進程:沒有屏幕提示,只在後臺等待用戶或者系統的請求,網絡多用戶系統工作絕大多數通過守護進程實現。

進程控制命令

ps [選項]
-a 顯示當前終端所有進程
-A 顯示系統所有進程,包括其它用戶進程和系統進程信息
u 顯示包括進程擁有人在內的詳細信息。

技術分享

%CPU cpu的使用率
%MEM 內存的使用率
VSZ 進程占有虛擬內存的大小
STAT 進程的狀態

pstree [選項]
-a 顯示啟動進程的命令行
-n 按照進程號進行排序

技術分享

top 實時顯示試題進程的狀態,包括顯示cpu利用率,內存利用率,進程狀態等系統信息。

技術分享

kill [選項] PID
kill % 作業號
終止正在運行的進程或者作業。
-15 正常結束
-9 強制終止進程
-1 重新加載配置文件
nice -n 優先數  命令名
在進程運行前,更改優先級
renice 優先數 PID
在進程運行中更改優先級

** 先在博客園,更新這麽多,簡書的markdown比博客園好用些,可以對照,可是博客園做出來跟漂亮些**

參考文章
Linux 殺死進程方法大全(kill,killall)
linux kill命令詳解
linux進程狀態及轉換關系

linux學習筆記二