溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux系統(tǒng)進(jìn)程管理是怎樣的

發(fā)布時間:2021-12-15 15:21:07 來源:億速云 閱讀:108 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“l(fā)inux系統(tǒng)進(jìn)程管理是怎樣的”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

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

來源百度百科:

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

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

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

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

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

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

那我們換一種說法:

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

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

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

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

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

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

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

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

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

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

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

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

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

<:高優(yōu)先級(以下狀態(tài)在BSD格式當(dāng)中出現(xiàn))。

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

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

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

l:多線程(小寫L)。

+:位于后臺。

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

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

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

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

“l(fā)inux系統(tǒng)進(jìn)程管理是怎樣的”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI