欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux系統(tǒng)之進(jìn)程管理詳解

 更新時(shí)間:2021年12月15日 14:19:28   作者:繁華似錦Fighting  
大家好,本篇文章主要講的是linux系統(tǒng)之進(jìn)程管理詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽

1、進(jìn)程與線程的概念

來(lái)源百度百科:

進(jìn)程(Process) 是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。 在當(dāng)代面向線程設(shè)計(jì)的計(jì)算機(jī)結(jié)構(gòu)中,進(jìn)程是線程的容器。程序是指令、數(shù)據(jù)及其組織形式的描述,進(jìn)程是程序的實(shí)體。是計(jì)算機(jī)中的程序關(guān)于某數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ)。程序是指令、數(shù)據(jù)及其組織形式的描述,進(jìn)程是程序的實(shí)體。

線程(thread) 是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。一條線程指的是進(jìn)程中一個(gè)單一順序的控制流,一個(gè)進(jìn)程中可以并發(fā)多個(gè)線程,每條線程并行執(zhí)行不同的任務(wù)。

2、什么是進(jìn)程管理

到底什么是進(jìn)程呢?

進(jìn)程是正在執(zhí)行的一個(gè)程序或命令,每一個(gè)進(jìn)程都是一個(gè)運(yùn)行的實(shí)體,都有自己的地址空間,并占用一定的系統(tǒng)資源。

那么什么是程序呢?
程序是人使用計(jì)算機(jī)語(yǔ)言編寫(xiě)的可以實(shí)現(xiàn)特定目標(biāo)或解決特定問(wèn)題的代碼集合。

那我們換一種說(shuō)法:

程序是人使用計(jì)算機(jī)語(yǔ)言編寫(xiě)的,可以實(shí)現(xiàn)一定功能,并且可以執(zhí)行的代碼集合。進(jìn)程是正在執(zhí)行中的程序。程序被執(zhí)行時(shí),執(zhí)行人的權(quán)限和屬性、以及程序的代碼都會(huì)被加載如內(nèi)存,操作系統(tǒng)給這個(gè)進(jìn)程分配一個(gè)ID號(hào),我們成為PID(進(jìn)程ID)

3、進(jìn)程管理的作用

判斷服務(wù)器健康狀態(tài):運(yùn)維工程師最主要的工作就是保證服務(wù)器安全穩(wěn)定的運(yùn)行。理想的狀態(tài)是,在服務(wù)器出現(xiàn)問(wèn)題,但是還沒(méi)有造成服務(wù)器宕機(jī)或停止服務(wù)時(shí),就人為干預(yù)解決了問(wèn)題。進(jìn)程管理最主要的工作就是判斷服務(wù)器當(dāng)前運(yùn)行是否健康,是否需要人為干預(yù)。如果服務(wù)器的CPU占用率、內(nèi)存占用率過(guò)高,就需要人為介入解決問(wèn)題了。

查看系統(tǒng)中所有的進(jìn)程:我們需要查看系統(tǒng)中所有正在運(yùn)行的進(jìn)程,通過(guò)這些進(jìn)程可以判斷系統(tǒng)中運(yùn)行了哪些服務(wù),是否有非法服務(wù)運(yùn)行。

殺死進(jìn)程:這是進(jìn)程管理中最不常用的手段,當(dāng)我需要停止服務(wù)時(shí),會(huì)通過(guò)正確關(guān)閉命令來(lái)停止服務(wù)(如apache服務(wù)可以通過(guò)service httpd stop來(lái)關(guān)閉)。只有當(dāng)正確終止進(jìn)程的手段失效的情況下,才會(huì)考慮使用kill命令殺死進(jìn)程(你不是殺手,不要什么進(jìn)程都用kill來(lái)終止,否則非常容易導(dǎo)致服務(wù)器崩潰)

4、Linux進(jìn)程的幾種狀態(tài)

D:不可被喚醒的睡眠狀態(tài),通常用于I/O情況。

R:該進(jìn)程正在運(yùn)行。

S:該進(jìn)程在睡眠狀態(tài),可被喚醒。

T:停止?fàn)顟B(tài),可能是在后臺(tái)暫?;蜻M(jìn)程在除錯(cuò)狀態(tài)。

W:內(nèi)存交互狀態(tài)(從2.6內(nèi)核開(kāi)始無(wú)效)。

X:死掉的進(jìn)程(應(yīng)該不會(huì)出現(xiàn))。

Z:僵尸進(jìn)程。進(jìn)程已經(jīng)終止,但是部分程序還在內(nèi)存當(dāng)中。

<:高優(yōu)先級(jí)(以下?tīng)顟B(tài)在BSD格式當(dāng)中出現(xiàn))。

N:低優(yōu)先級(jí)。

L:被鎖入內(nèi)存。

s:包含子進(jìn)程。

l:多線程(小寫(xiě)L)。

+:位于后臺(tái)。

5、進(jìn)程與線程的關(guān)系

(1)線程與進(jìn)程的關(guān)系

比如電腦同時(shí)進(jìn)行著200個(gè)進(jìn)程:

線程與進(jìn)程概念線程: 每個(gè)進(jìn)程中至少包含一個(gè)線程,而這些線程都在共享進(jìn)程的資源空間等,當(dāng)線程發(fā)生變化的時(shí)候只會(huì)引起CPU執(zhí)行的過(guò)程發(fā)生變化,不會(huì)改變進(jìn)程所擁有的資源。同理一個(gè)程序中至少包含一個(gè)進(jìn)程。進(jìn)程中執(zhí)行運(yùn)算的最小單位,亦是執(zhí)行處理機(jī)調(diào)度的基本單位進(jìn)程: 每個(gè)進(jìn)程都有自己的地址空間,資源如,內(nèi)存,I/O,CPU,同一個(gè)進(jìn)程里的 線程共享本進(jìn)程里的地址空間,那能不能使用別人家進(jìn)程的地址空間呢,顯然這是不可以的。由于進(jìn)程的獨(dú)立性,當(dāng)某一個(gè)進(jìn)程崩潰之后,在保護(hù)模式下不會(huì)對(duì)別的進(jìn)程進(jìn)行影響。資源分配的基本單位,運(yùn)行調(diào)度的基本單位,系統(tǒng)中并發(fā)執(zhí)行的單位。

兩者的比較調(diào)度
同一個(gè)進(jìn)程中,線程的切換不會(huì)引起進(jìn)程的切換。
由一個(gè)進(jìn)程的線程切換到另一個(gè)線程的進(jìn)程時(shí),引起進(jìn)程的切換。并發(fā)性
進(jìn)程可以并發(fā)執(zhí)行,而一個(gè)進(jìn)程中的線程也可以并發(fā)執(zhí)行。擁有的資源
一般來(lái)說(shuō),線程并不會(huì)擁有自己的資源,但是它可以訪問(wèn)自己本進(jìn)程中的資源。比如,一個(gè)進(jìn)程打開(kāi)的文件等,進(jìn)程中的其他線程是可以共享的。

(2)總結(jié)

我們簡(jiǎn)單總結(jié)下:

進(jìn)程:指在系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序,程序一旦運(yùn)行就是進(jìn)程,進(jìn)程是資源分配的最小單位。線程:系統(tǒng)分配處理器時(shí)間資源的基本單元,或者說(shuō)進(jìn)程之內(nèi)獨(dú)立執(zhí)行的一個(gè)單元執(zhí)行流,線程是程序執(zhí)行的最小單位。

到此這篇關(guān)于linux系統(tǒng)之進(jìn)程管理詳解的文章就介紹到這了,更多相關(guān)linux進(jìn)程管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論