linux中的進程一般分為「互動進程」、「批次進程」、「監控進程」三類。交互進程是由一個Shell啟動的進程;交互進程既可以在前台運行,也可以在後台運行。批次進程和終端沒有聯繫,是一個進程序列。監控進程也稱為守護進程,是在背景運作且不受任何終端控制的特殊進程,用於執行特定的系統任務。
本教學操作環境:linux7.3系統、Dell G3電腦。
什麼是行程
程式是正在執行的程式或指令,每個行程都是一個運作的實體,都有自己的位址空間,並佔用一定的系統資源。程式一旦運行就是進程。
行程可以看成程式執行的一個實例。進程是系統資源分配的獨立實體,每個進程都有獨立的位址空間。一個行程無法存取另一個行程的變數和資料結構,如果想讓一個行程存取另一個行程的資源,需要使用進程間通信,例如管道,文件,套接字等。
進程分類
在Linux作業系統中,行程大致可以分成3中不同的型別,每種進程都有自己的特點和屬性。
互動進程:由一個Shell啟動的進程,互動進程既可以在前台運行,也可以在後台運行。
批次進程:這種進程和終端沒有聯繫,是一個進程序列。
監控進程:也稱為守護進程,是一個在後台運行且不受任何終端控制的特殊進程,用於執行特定的系統任務。
程式的組成
#一個行程包含核心中的一部分位址空間和一系列資料結構。其中位址空間是核心標記的一部分記憶體以供進程使用,而資料結構則用來紀錄每個進程的具體資訊。
最主要的進程資訊包括:
進程的位址空間圖
進程目前的狀態( sleeping、stopped 、runnable 等)
進程的執行優先權
程式呼叫的資源資訊
進程的狀態
:此時進程正在執行或正在執行佇列中等待準備執行
:此時進程在等待一個事件的發生或某種系統資源。在Linux系統中等待狀態又細分為兩種等待狀態:可中斷的等待狀態與不可中斷的等待狀態
:處於可中斷的等待狀態的程序可以被某一訊號中斷
:處於不可中斷的等待狀態的進程不受訊號的打擾,將一直等待事件的發生或等待某種系統資源
:處於暫停狀態的進程被暫停運行
:每個行程在執行結束後都會處於僵死狀態,等待父行程呼叫進而釋放系統資源,處於該狀態的行程已經執行結束,但是它的父行程還沒有釋放其係統資源
Linux影片教學》
以上是linux中的進程一般分為哪三類的詳細內容。更多資訊請關注PHP中文網其他相關文章!