day20進(jìn)程管理

今日總結(jié)

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

  • 我們將寫(xiě)好的代碼叫做程序,把程序運(yùn)行起來(lái)叫做進(jìn)程。也就是當(dāng)我們運(yùn)行一個(gè)程序摹迷,我們將運(yùn)行起來(lái)的程序叫做進(jìn)程。
  • 程序運(yùn)行為進(jìn)程時(shí)郊供,系統(tǒng)會(huì)為該進(jìn)程分配內(nèi)存峡碉,以及進(jìn)程運(yùn)行的身份和權(quán)限。
  • 在進(jìn)程運(yùn)行的過(guò)程中驮审,系統(tǒng)會(huì)有各種指標(biāo)來(lái)表示當(dāng)前進(jìn)程運(yùn)行的狀態(tài)鲫寄。

2.程序與進(jìn)程之間有什么區(qū)別吉执?

  • 程序是數(shù)據(jù)和指令的集合,是一個(gè)靜態(tài)的概念地来,比如ls戳玫,cp這些指令是二進(jìn)制文件,會(huì)一直存在于系統(tǒng)中未斑。
  • 進(jìn)程時(shí)程序運(yùn)行的過(guò)程咕宿,是一個(gè)動(dòng)態(tài)的概念,進(jìn)程是存在生命周期概念的蜡秽,也就是說(shuō)進(jìn)程會(huì)隨著程序的結(jié)束而終止府阀,不會(huì)永久存在于系統(tǒng)中。

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

  • 當(dāng)父進(jìn)程接收到任務(wù)調(diào)度時(shí)芽突,會(huì)通過(guò)fock派生子進(jìn)程來(lái)處理试浙,那么父進(jìn)程會(huì)繼承子進(jìn)程的屬性。
    • 當(dāng)子進(jìn)程在處理任務(wù)是費(fèi)進(jìn)程處于等待狀態(tài)寞蚌。
    • 在子進(jìn)程在處理完成后會(huì)喚醒父進(jìn)程田巴,讓父進(jìn)程回收處理子進(jìn)程的資源。
    • 當(dāng)子進(jìn)程處理任務(wù)時(shí)父進(jìn)程退出了睬澡,子進(jìn)程沒(méi)有退出那么這個(gè)進(jìn)程就會(huì)變?yōu)槔M(jìn)程固额。
    • 每個(gè)進(jìn)程父進(jìn)程叫ppid,子進(jìn)程叫pid
  • 使用ps命令查看當(dāng)前進(jìn)程的狀態(tài)(靜態(tài))

4.進(jìn)程運(yùn)行的狀態(tài)指標(biāo)

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

  • 使用ps命令查看當(dāng)前進(jìn)程的狀態(tài)(靜態(tài))
    1.通常使用ps -aux組合逝慧,查看進(jìn)程 用戶昔脯,PID,占用cpu百分比笛臣,占用內(nèi)存百分比云稚,狀態(tài),執(zhí)行的命令等沈堡。
[root@oldboy~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 128428  6968 ?        Ss   09:42   0:02 /usr/lib/system
root          2  0.0  0.0      0     0 ?        S    09:42   0:00 [kthreadd]
狀態(tài) 描述
USER 啟動(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)存的大芯渤隆(單位kb)
RSS 進(jìn)程占用物理內(nèi)存實(shí)際大小
TTY 進(jìn)程由那個(gè)終端運(yùn)行啟動(dòng)
SATA 進(jìn)程運(yùn)行過(guò)程中的狀態(tài) man ps(/STATE)
START 進(jìn)程的啟動(dòng)時(shí)間
TIME 進(jìn)程占用CPU的總時(shí)間(為0表示還沒(méi)超過(guò)秒)
COMMAND 程序的運(yùn)行指令,[方括號(hào)]屬于內(nèi)核態(tài)的進(jìn)程诞丽。沒(méi)有[]是用戶態(tài)的進(jìn)程鲸拥。
  • STAT狀態(tài)的S,Ss僧免,Ss+刑赶,S<,S+懂衩,R撞叨,R+金踪,D,T牵敷,Z等等都是什么意思胡岔?
STAT基本狀態(tài) 描述 STAT狀態(tài)+符號(hào) 描述
R 進(jìn)程運(yùn)行 s 進(jìn)程是控制進(jìn)程,Ss進(jìn)程的領(lǐng)導(dǎo)者枷餐,父進(jìn)程
S 可中斷睡眠 < 進(jìn)程運(yùn)行在高優(yōu)先級(jí)上姐军,S<優(yōu)先級(jí)較高的進(jìn)程
T 進(jìn)程被暫停 N 進(jìn)程運(yùn)行在低優(yōu)先級(jí)上,SN優(yōu)先級(jí)較低的進(jìn)程
D 不可終端睡眠 + 當(dāng)進(jìn)程運(yùn)行在前臺(tái)尖淘,R+表示該進(jìn)程在前臺(tái)運(yùn)行
Z 僵尸進(jìn)程 l 進(jìn)程是多線程的奕锌,Sl表示進(jìn)程是以線程方式運(yùn)行的
  • 使用top命令查看系統(tǒng)當(dāng)前的狀態(tài)
top 
16:32:14 up  6:41,  4 users,  load average: 0.08, 0.03, 0.05 #平均負(fù)載
image.png
Tasks:  99 total,   2 running,  97 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

# Tasks:  99 total    任務(wù)總數(shù)
# 2 running             有兩個(gè)進(jìn)程正在運(yùn)行
# 97 sleeping          97個(gè)睡眠
# 0 stopped             0個(gè)掛起  停止
# 0 zombie              僵尸進(jìn)程
# %Cpu(s)               CPU平均狀態(tài)
# 0.0 us                   進(jìn)程占用cpu的百分比(用戶進(jìn)程)
# 0.3 sy                    內(nèi)核進(jìn)程(硬件)
# 0.0 ni                     優(yōu)先級(jí)的進(jìn)程占用cpu的百分比
# 99.7 id                   空閑的進(jìn)程 
# 0.0 wa                   cpu等待IO完成的時(shí)間
# 0.0 hi                     硬中斷
# 0.0 si                     軟中斷
# 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
  • 還有一些查看系統(tǒng)狀態(tài)的命令htop村生,iftop惊暴,glances

5.Linux中斷

  • 什么是中斷?
    中斷是系統(tǒng)用來(lái)響應(yīng)硬件設(shè)備請(qǐng)求的一種機(jī)制趁桃,它會(huì)打斷進(jìn)程的正常調(diào)度和執(zhí)行辽话,然后調(diào)用內(nèi)核中的中斷處理程序來(lái)響應(yīng)設(shè)備的請(qǐng)求。
  • 為什么要有中斷
    中斷其實(shí)是一種異步的時(shí)間處理機(jī)制卫病,可以提高系統(tǒng)的并發(fā)助理能力
  • 中斷會(huì)帶來(lái)什么問(wèn)題油啤?
    中斷會(huì)打斷其他進(jìn)程的正常運(yùn)行,所以為了減少對(duì)正常進(jìn)程運(yùn)行調(diào)度的影響蟀苛,中斷程序需要盡快的執(zhí)行益咬,但如果中斷要處理的事情很多,中斷服務(wù)程序就有可能要運(yùn)行很長(zhǎng)時(shí)間帜平,就會(huì)導(dǎo)致其他中斷都不能響應(yīng)幽告,也就是說(shuō)中斷可能會(huì)丟失。
  • Linux軟中斷與硬中斷小結(jié)
    • Linux 中的中斷處理程序分 為上半部和下半部:
      • 上半部對(duì)應(yīng)硬件中斷裆甩,用來(lái)快速處理中斷冗锁。
      • 下半部對(duì)應(yīng)軟中斷,用來(lái)異步處理上半部未完成的工作嗤栓。
  • 為了解決中斷處理程序執(zhí)行過(guò)長(zhǎng)和中斷丟失的問(wèn)題冻河,Linux 將中斷處理過(guò)程分成了兩個(gè)階段,也就是上半部和下半部:
    • 上半部用來(lái)快速處理中斷茉帅,它在中斷禁止模式下運(yùn)行叨叙,主要處理跟硬件緊密相關(guān)工作。
    • 下半部用來(lái)延遲處理上半部未完成的工作担敌,通常以內(nèi)核線程的方式運(yùn)行岔霸。
  • 例子:網(wǎng)卡接收到數(shù)據(jù)包后配椭,會(huì)通過(guò)硬件中斷的方式,通知內(nèi)核有新的數(shù)據(jù)到了倾鲫。這時(shí),內(nèi)核就應(yīng)該調(diào)用中斷處理程序來(lái)響應(yīng)它。
    對(duì)上半部來(lái)說(shuō),既然是快速處理,其實(shí)就是要把網(wǎng)卡的數(shù)據(jù)讀到內(nèi)存中攒暇,然后更新一下硬件寄存器的狀態(tài)(表示數(shù)據(jù)已經(jīng)讀好了),最后再發(fā)送一個(gè)軟中斷信號(hào)子房,通知下半部做進(jìn)一步的處理形用。
    而下半部被軟中斷信號(hào)喚醒后,需要從內(nèi)存中找到網(wǎng)絡(luò)數(shù)據(jù)证杭,再按照網(wǎng)絡(luò)協(xié)議棧田度,對(duì)數(shù)據(jù)進(jìn)行逐層解析和處理,直到把它送給應(yīng)用程序解愤。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末镇饺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子送讲,更是在濱河造成了極大的恐慌奸笤,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哼鬓,死亡現(xiàn)場(chǎng)離奇詭異监右,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)异希,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)健盒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人宠互,你說(shuō)我怎么就攤上這事味榛。” “怎么了予跌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)善茎。 經(jīng)常有香客問(wèn)我券册,道長(zhǎng),這世上最難降的妖魔是什么垂涯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任烁焙,我火速辦了婚禮,結(jié)果婚禮上耕赘,老公的妹妹穿的比我還像新娘骄蝇。我一直安慰自己,他們只是感情好操骡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布九火。 她就那樣靜靜地躺著赚窃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岔激。 梳的紋絲不亂的頭發(fā)上勒极,一...
    開(kāi)封第一講書(shū)人閱讀 51,727評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音虑鼎,去河邊找鬼辱匿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛炫彩,可吹牛的內(nèi)容都是我干的匾七。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼江兢,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼昨忆!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起划址,我...
    開(kāi)封第一講書(shū)人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扔嵌,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后夺颤,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體痢缎,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年世澜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了独旷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寥裂,死狀恐怖嵌洼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情封恰,我是刑警寧澤麻养,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站诺舔,受9級(jí)特大地震影響鳖昌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜低飒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一许昨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧褥赊,春花似錦糕档、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)俐银。三九已至,卻和暖如春琅坡,著一層夾襖步出監(jiān)牢的瞬間悉患,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工榆俺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留售躁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓茴晋,卻偏偏與公主長(zhǎng)得像陪捷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诺擅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.什么是進(jìn)程? 開(kāi)發(fā)寫(xiě)的代碼我們稱之為程序市袖,那么將程序運(yùn)行起來(lái),就叫進(jìn)程 PS: 那么在程序運(yùn)行成進(jìn)程后烁涌,系統(tǒng)會(huì)...
    不懂helloword閱讀 256評(píng)論 0 0
  • 今日內(nèi)容 1.什么是進(jìn)程 進(jìn)程是指在系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序苍碟;線程是系統(tǒng)分配處理器時(shí)間資源的基本單元,或者說(shuō)進(jìn)...
    5不忘初心0閱讀 312評(píng)論 0 0
  • 1.什么是進(jìn)程 開(kāi)發(fā)寫(xiě)的代碼我們稱為程序撮执,將開(kāi)發(fā)的代碼運(yùn)行起來(lái)微峰,我們稱為進(jìn)程;當(dāng)我們運(yùn)行一個(gè)程序抒钱,那我們將運(yùn)行的程...
    蜜桃貓七七閱讀 213評(píng)論 0 0
  • 1.什么是進(jìn)程?2.程序與進(jìn)程之間有什么區(qū)別?3.進(jìn)程的生命周期?4.進(jìn)程運(yùn)行的狀態(tài)指標(biāo)?5.如何監(jiān)控進(jìn)程的狀態(tài)蜓肆、...
    Demon_7636閱讀 432評(píng)論 0 0
  • 昨日回顧 1.什么是硬盤(pán), 什么是磁盤(pán) 2.磁盤(pán)內(nèi)部結(jié)構(gòu)*磁道谋币,金屬顆粒*磁頭 由馬達(dá)帶動(dòng)主軸旋轉(zhuǎn)盤(pán)面仗扬,磁頭磁化磁...
    a幕城閱讀 182評(píng)論 0 1