進(jìn)程管理

一什么是進(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



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

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

  • 1.什么是進(jìn)程? 比如:開發(fā)寫的代碼我們稱為程序,那么將開發(fā)的代碼運(yùn)行起來(lái)。我們稱為進(jìn)程總結(jié)以一句話就是:當(dāng)我們運(yùn)...
    黃能能閱讀 273評(píng)論 0 0
  • 一、什么是進(jìn)程 定義:進(jìn)程是系統(tǒng)中正在運(yùn)行的一個(gè)程序,程序一旦運(yùn)行就是進(jìn)程 二、程序與進(jìn)程之間有什么區(qū)別 1、進(jìn)程...
    矮寨坡的M3閱讀 570評(píng)論 0 3
  • 1.什么是進(jìn)程? 定義 程序是人使用計(jì)算機(jī)語(yǔ)言編寫的,可以實(shí)現(xiàn)一定功能,并且可以執(zhí)行的代碼集合。而進(jìn)程是正在執(zhí)行中...
    渡九_(tái)6149閱讀 747評(píng)論 0 2
  • 管理進(jìn)程狀態(tài) 當(dāng)程序運(yùn)行為進(jìn)程后,如果希望停止進(jìn)程,怎么辦呢? 那么此時(shí)我們可以使用linux的kill命令對(duì)進(jìn)程...
    wiapr閱讀 204評(píng)論 0 1
  • 一、 1.什么是進(jìn)程 比如: 開發(fā)寫的代碼我們稱為程序,那么將開發(fā)的代碼運(yùn)行起來(lái)。我們稱為進(jìn)程??偨Y(jié)一句話就是: ...
    隔扣你閱讀 314評(píng)論 0 0

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