您好,登錄后才能下訂單哦!
本篇內容介紹了“linux系統進程管理是怎樣的”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
來源百度百科:
進程(Process) 是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。 在當代面向線程設計的計算機結構中,進程是線程的容器。程序是指令、數據及其組織形式的描述,進程是程序的實體。是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。程序是指令、數據及其組織形式的描述,進程是程序的實體。
線程(thread) 是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以并發多個線程,每條線程并行執行不同的任務。
到底什么是進程呢?
進程是正在執行的一個程序或命令,每一個進程都是一個運行的實體,都有自己的地址空間,并占用一定的系統資源。
那么什么是程序呢?
程序是人使用計算機語言編寫的可以實現特定目標或解決特定問題的代碼集合。
那我們換一種說法:
程序是人使用計算機語言編寫的,可以實現一定功能,并且可以執行的代碼集合。進程是正在執行中的程序。程序被執行時,執行人的權限和屬性、以及程序的代碼都會被加載如內存,操作系統給這個進程分配一個ID號,我們成為PID(進程ID)
判斷服務器健康狀態:運維工程師最主要的工作就是保證服務器安全穩定的運行。理想的狀態是,在服務器出現問題,但是還沒有造成服務器宕機或停止服務時,就人為干預解決了問題。進程管理最主要的工作就是判斷服務器當前運行是否健康,是否需要人為干預。如果服務器的CPU占用率、內存占用率過高,就需要人為介入解決問題了。
查看系統中所有的進程:我們需要查看系統中所有正在運行的進程,通過這些進程可以判斷系統中運行了哪些服務,是否有非法服務運行。
殺死進程:這是進程管理中最不常用的手段,當我需要停止服務時,會通過正確關閉命令來停止服務(如apache
服務可以通過service httpd stop
來關閉)。只有當正確終止進程的手段失效的情況下,才會考慮使用kill
命令殺死進程(你不是殺手,不要什么進程都用kill來終止,否則非常容易導致服務器崩潰)
D
:不可被喚醒的睡眠狀態,通常用于I/O
情況。
R
:該進程正在運行。
S
:該進程在睡眠狀態,可被喚醒。
T
:停止狀態,可能是在后臺暫停或進程在除錯狀態。
W
:內存交互狀態(從2.6內核開始無效)。
X
:死掉的進程(應該不會出現)。
Z
:僵尸進程。進程已經終止,但是部分程序還在內存當中。
<
:高優先級(以下狀態在BSD格式當中出現)。
N
:低優先級。
L
:被鎖入內存。
s
:包含子進程。
l
:多線程(小寫L)。
+
:位于后臺。
比如電腦同時進行著200個進程:
線程與進程概念線程: 每個進程中至少包含一個線程,而這些線程都在共享進程的資源空間等,當線程發生變化的時候只會引起CPU執行的過程發生變化,不會改變進程所擁有的資源。同理一個程序中至少包含一個進程。進程中執行運算的最小單位,亦是執行處理機調度的基本單位進程: 每個進程都有自己的地址空間,資源如,內存,I/O,CPU,同一個進程里的 線程共享本進程里的地址空間,那能不能使用別人家進程的地址空間呢,顯然這是不可以的。由于進程的獨立性,當某一個進程崩潰之后,在保護模式下不會對別的進程進行影響。資源分配的基本單位,運行調度的基本單位,系統中并發執行的單位。
兩者的比較調度
同一個進程中,線程的切換不會引起進程的切換。
由一個進程的線程切換到另一個線程的進程時,引起進程的切換。并發性
進程可以并發執行,而一個進程中的線程也可以并發執行。擁有的資源
一般來說,線程并不會擁有自己的資源,但是它可以訪問自己本進程中的資源。比如,一個進程打開的文件等,進程中的其他線程是可以共享的。
“linux系統進程管理是怎樣的”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。