進(jìn)程管理(上)

1.什么是進(jìn)程

例如:開發(fā)寫的代碼我們稱為程序,將開發(fā)的代碼(程序)運行起來稱為進(jìn)程。
1)當(dāng)程序運行為進(jìn)程后,系統(tǒng)會為該進(jìn)程分配內(nèi)存,以及進(jìn)程運行的身份和權(quán)限。
2)在進(jìn)程運行的過程中,系統(tǒng)會有各種指標(biāo)來表示當(dāng)前運行的狀態(tài)。


2.程序和進(jìn)程的區(qū)別

1.程序是數(shù)據(jù)和指令的集合,是一個靜態(tài)的概念。
/bin/ls 、/bin/cp 等二進(jìn)制文件,同時程序可以長期存在系統(tǒng)中。
2.進(jìn)程是程序運行的過程,是一個動態(tài)的概念。進(jìn)程是存在生命周期的概念,也就是說進(jìn)程會隨著程序的終止而銷毀,不會永久存在系統(tǒng)中.


3.進(jìn)程的生命周期

生命周期是指一個對象的生老病死,用處廣泛。

進(jìn)程的執(zhí)行過程

父進(jìn)程稱為---PPID,子進(jìn)程稱為---PID
當(dāng)父進(jìn)程接到任務(wù)時,會通過子進(jìn)程去處理,子進(jìn)程就會繼承父進(jìn)程的屬性,就是按父進(jìn)程的指示進(jìn)行
1.子進(jìn)程在處理任務(wù)代碼是,父進(jìn)程會進(jìn)入等待狀態(tài)。
2.子進(jìn)程在處理任務(wù)代碼后,會執(zhí)行退出,喚醒父進(jìn)程來回收子進(jìn)程的資源。
3.如果子進(jìn)程在執(zhí)行任務(wù)時,父進(jìn)程退出了,子進(jìn)程沒有了管理者,就會變成僵尸進(jìn)程。


二、監(jiān)控進(jìn)程狀態(tài)

程序在運行后。我們需要了解進(jìn)程的運行狀態(tài)。
查看進(jìn)程的狀態(tài)分為:靜態(tài)和動態(tài)兩種方式。

1.使用ps命令查看當(dāng)前的進(jìn)程狀態(tài)。(靜態(tài))

1)實例:ps -aux常用組合,查看進(jìn)程,用戶,PID,占用cpu百分比,占用內(nèi)存百分比,狀態(tài),執(zhí)行的命令等。

進(jìn)程運行的狀態(tài)指標(biāo)
第一列USER,  運行進(jìn)程的用戶
第二列PID,  進(jìn)程的ID編號
第三列 %CPU,進(jìn)程占用CPU的百分比
第四列%MEM, 占用內(nèi)存的百分比
第五列VSZ,  虛擬的內(nèi)存占用比(單位KB)
第六列RSS    實際的內(nèi)存占用比
第七列TTY,  進(jìn)程是由哪個終端運行啟動的tty1、pts/0等,?表示與內(nèi)核程序與終端無關(guān)。
第八列STAT,  進(jìn)程運行狀態(tài)信息
第九列START, 啟動的時間
第十列TIME,  進(jìn)程運行占用CPU的時間,以秒計算,0代表沒超過秒
第十一列COMMAND,啟動一個進(jìn)程執(zhí)行的命令?!尽渴莾?nèi)核程序

STAT狀態(tài):S,Ss,Ss+,S<,S+,R,R+,D,T,Z



線程代表在一個程序中可以干很多事。

top命令可以實時動態(tài)地查看系統(tǒng)的整體運行情況,是一個綜合了多方信息監(jiān)測系統(tǒng)性能和運行信息的實用工具。通過top命令所提供的互動式界面,用熱鍵可以管理。


平均負(fù)載
fg將后臺運行的程序放到前臺
bg將前臺運行的程序放到后臺

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容