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將前臺運行的程序放到后臺