一什么是進(jìn)程
當(dāng)我們運(yùn)行一個(gè)程序,那么我們把運(yùn)行的程序叫進(jìn)程
2.程序和進(jìn)程的區(qū)別
程序是數(shù)據(jù)和指令的集合,是一個(gè)靜態(tài)的概念,可以長(zhǎng)期存在系統(tǒng)中。
進(jìn)程是程序運(yùn)行的過(guò)程,是一個(gè)動(dòng)態(tài)的概念。進(jìn)程存在生命周期,會(huì)隨著程序的終止而銷毀。
3.進(jìn)程的生命周期
當(dāng)父進(jìn)程接收到任務(wù)調(diào)度時(shí),會(huì)通過(guò)fock派生子進(jìn)程來(lái)處理,那么子進(jìn)程會(huì)繼承父進(jìn)程屬性。
1)子進(jìn)程在處理任務(wù)代碼時(shí),父進(jìn)程會(huì)進(jìn)入等待狀態(tài)中
2)子進(jìn)程在處理任務(wù)代碼后,會(huì)執(zhí)行退出,然后喚醒父進(jìn)程來(lái)回收子進(jìn)程的資源
3)如果子進(jìn)程在處理任務(wù)過(guò)程中,父進(jìn)程退出了,子進(jìn)程沒(méi)有退出,那么這些子進(jìn)程就沒(méi)有父進(jìn)程來(lái)管理了,就變成僵尸進(jìn)程。
每個(gè)進(jìn)程都有父進(jìn)程的PPID,子進(jìn)程則叫PID。
二監(jiān)控進(jìn)程狀態(tài)
查看進(jìn)程狀態(tài)分為靜態(tài)ps和動(dòng)態(tài)top兩種方式
1.使用ps命令查看當(dāng)前的進(jìn)程狀態(tài)(靜態(tài))
1)ps -aux組合查看

USER:?jiǎn)?dòng)進(jìn)程的用戶
PID:進(jìn)程運(yùn)行的ID號(hào)
%CPU:進(jìn)程占用CPU百分比
%MEM:進(jìn)程占用內(nèi)存百分比
VSZ:進(jìn)程占用虛擬內(nèi)存大小
RSS:進(jìn)程占用物理內(nèi)存實(shí)際大小
TTY:進(jìn)程是由哪個(gè)終端運(yùn)行啟動(dòng)的tty1,pts/0等? ? ?表示內(nèi)核程序與終端無(wú)關(guān)
STAT:進(jìn)程運(yùn)行過(guò)程中的狀態(tài) man ps (/STATE)
TIME:進(jìn)程占用CPU的總時(shí)間(為0表示還沒(méi)超過(guò)秒)
COMMAND:程序的運(yùn)行指令,方括號(hào)屬于內(nèi)核態(tài)的進(jìn)程。沒(méi)有【】的時(shí)用戶態(tài)進(jìn)程
2)STAT狀態(tài)的S,Ss,S+,R,T,D,Z,

STAT基本狀態(tài):R? ? 進(jìn)程運(yùn)行。? ? S? ? 可中斷睡眠。? ? T? ? 進(jìn)程被暫停。? ? D? ? 不可中斷睡眠。? ? Z? ? 僵尸進(jìn)程。
STAT狀態(tài)+符號(hào):s? ? 進(jìn)程是控制進(jìn)程,Ss進(jìn)程的領(lǐng)導(dǎo)者,父進(jìn)程。? ? <? ? 進(jìn)程運(yùn)行在高優(yōu)先級(jí)上,S<優(yōu)先級(jí)較高的進(jìn)程。? ? N? ? 進(jìn)程運(yùn)行在低優(yōu)先級(jí)上,SN優(yōu)先級(jí)較低的進(jìn)程。? ? +? ? 當(dāng)前進(jìn)程運(yùn)行在欠他,R+表示進(jìn)程在前臺(tái)運(yùn)行。? ? I? ? 進(jìn)程是多線程的,SI表示線程是以線程方式運(yùn)行。
2.使用top命令查看當(dāng)前的進(jìn)程狀態(tài)(動(dòng)態(tài))??

Taske:129total 當(dāng)前進(jìn)程的總數(shù)
1 running 正在運(yùn)行的進(jìn)程數(shù)
106 sleeping 睡眠的進(jìn)程數(shù)
0 stopped 停止的進(jìn)程數(shù)?
0 zombie 僵尸進(jìn)程數(shù)
%Cpu(s) :0.3 us 系統(tǒng)用戶進(jìn)程使用CPU百分比
0.3 sy 內(nèi)核中的進(jìn)程占用CPU百分比,通常內(nèi)核是于硬件進(jìn)行交互(內(nèi)核進(jìn)程)
0.1 ni 優(yōu)先級(jí)的進(jìn)程占用cpu百分比
99.3 id 空閑CPU的百分比
0.0 wa CPU等待IO完成的時(shí)間
0.0 hi 硬中斷,占用CPU百分比
0.0 si 軟中斷,占用CPU百分比
0.0 st 比如虛擬機(jī)占用物理CPU的時(shí)間
top 常見(jiàn)指令
h 查看幫出
1 數(shù)字1,顯示所有CPU核心的負(fù)載
z 以高亮顯示數(shù)據(jù)
b 高亮顯示處于R狀態(tài)的進(jìn)程
M 按內(nèi)存使用百分比排序輸出
P 按CPU使用百分比排序輸出
q 退出top