進(jìn)程(process)是程序?qū)嶓w運(yùn)行的過程陵且,是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨(dú)立單位,或者說是一個(gè)程序在處理機(jī)上的一次執(zhí)行活動(dòng)狂打。
區(qū)分一下進(jìn)程和程序
1.0 程序是一個(gè)靜態(tài)指令的集合敌呈;而進(jìn)程是一個(gè)程序的動(dòng)態(tài)執(zhí)行過程,它具有生命期颓哮,是動(dòng)態(tài)產(chǎn)生和消亡的程序不能申請(qǐng)系統(tǒng)資源,不能被系統(tǒng)調(diào)度鸵荠,也不能作為獨(dú)立運(yùn)行的單位冕茅,因此它不占用系統(tǒng)運(yùn)行的資源。
2.0 程序和進(jìn)程無一一對(duì)應(yīng)的關(guān)系蛹找。
看一看windows系統(tǒng)的進(jìn)程姨伤,線程
進(jìn)程屬性
與windows系統(tǒng)一樣,在linux中也總是有許多進(jìn)程在運(yùn)行庸疾,每一個(gè)進(jìn)程都有一個(gè)識(shí)別號(hào)乍楚,叫做PID(process ID),用以區(qū)分不同的進(jìn)程届慈。進(jìn)程還有徒溪,擁有人id忿偷,進(jìn)程名,進(jìn)程狀態(tài)臊泌,父進(jìn)程id以及運(yùn)行時(shí)間等鲤桥。
從linux操作系統(tǒng)的啟動(dòng)過程來看,系統(tǒng)啟動(dòng)后的第一個(gè)進(jìn)程是init渠概,它的pid是1茶凳,init是唯一一個(gè)右系統(tǒng)內(nèi)核直接運(yùn)行的進(jìn)程,新的進(jìn)程可以由fork來產(chǎn)生播揪。
進(jìn)程的狀態(tài)
就緒狀態(tài):進(jìn)程已經(jīng)獲得cpu以外的運(yùn)行所需的全部資源慧妄。
運(yùn)行狀態(tài):進(jìn)程占用cpu正在運(yùn)行。
等待狀態(tài):進(jìn)程正在等待某一事件或某一資源
掛起狀態(tài):正在運(yùn)行的進(jìn)程剪芍,因?yàn)槟骋辉蚴pu而暫停運(yùn)行
終止?fàn)顟B(tài):進(jìn)程已經(jīng)結(jié)束
休眠狀態(tài):進(jìn)程主動(dòng)暫時(shí)停止運(yùn)行
僵死狀態(tài):進(jìn)程已經(jīng)停止運(yùn)行,但是相關(guān) 的控制信息扔保留窟蓝。
進(jìn)程的優(yōu)先級(jí):linux系統(tǒng)所有的進(jìn)程根據(jù)其所處的狀態(tài)罪裹,按照時(shí)間順序排列形成不同的隊(duì)列。進(jìn)程的優(yōu)先級(jí)范圍為-20~19之間的整數(shù)运挫,取值越小状共,優(yōu)先級(jí)越高。
進(jìn)程的類型
1.0 系統(tǒng)進(jìn)程:操作系統(tǒng)啟動(dòng)后谁帕。系統(tǒng)環(huán)境平臺(tái)運(yùn)行所加載的進(jìn)程峡继,它不終端或者用戶關(guān)聯(lián)**
2.0 用戶進(jìn)程:與終端關(guān)聯(lián),使用一個(gè)用戶id匈挖,是由用戶所執(zhí)行的程序碾牌。
3.0 守護(hù)進(jìn)程:沒有屏幕提示,只在后臺(tái)等待用戶或者系統(tǒng)的請(qǐng)求儡循,網(wǎng)絡(luò)多用戶系統(tǒng)工作絕大多數(shù)通過守護(hù)進(jìn)程實(shí)現(xiàn)舶吗。
進(jìn)程控制命令
ps [選項(xiàng)]
-a 顯示當(dāng)前終端所有進(jìn)程
-A 顯示系統(tǒng)所有進(jìn)程,包括其它用戶進(jìn)程和系統(tǒng)進(jìn)程信息
u 顯示包括進(jìn)程擁有人在內(nèi)的詳細(xì)信息择膝。
%CPU cpu的使用率
%MEM 內(nèi)存的使用率
VSZ 進(jìn)程占有虛擬內(nèi)存的大小
STAT 進(jìn)程的狀態(tài)
pstree [選項(xiàng)]
-a 顯示啟動(dòng)進(jìn)程的命令行
-n 按照進(jìn)程號(hào)進(jìn)行排序
top 實(shí)時(shí)顯示試題進(jìn)程的狀態(tài)誓琼,包括顯示cpu利用率,內(nèi)存利用率肴捉,進(jìn)程狀態(tài)等系統(tǒng)信息腹侣。
kill [選項(xiàng)] PID
kill % 作業(yè)號(hào)
終止正在運(yùn)行的進(jìn)程或者作業(yè)。
-15 正常結(jié)束
-9 強(qiáng)制終止進(jìn)程
-1 重新加載配置文件
nice -n 優(yōu)先數(shù) 命令名
在進(jìn)程運(yùn)行前齿穗,更改優(yōu)先級(jí)
renice 優(yōu)先數(shù) PID
在進(jìn)程運(yùn)行中更改優(yōu)先級(jí)
簡(jiǎn)書的markdown比博客園好用些傲隶,可以對(duì)照,可是博客園做出來跟漂亮些缤灵。
博客園地址: inux學(xué)習(xí)筆記二
參考文章
Linux 殺死進(jìn)程方法大全(kill,killall)
linux kill命令詳解
linux進(jìn)程狀態(tài)及轉(zhuǎn)換關(guān)系
linux上進(jìn)程狀態(tài)查詢
設(shè)計(jì)到了不少操作系統(tǒng)的知識(shí)點(diǎn)伦籍,有時(shí)間準(zhǔn)備寫一寫操作系統(tǒng)的知識(shí)點(diǎn)了蓝晒。