linux中的進程一般分為哪三類

linux中的進程一般分為“交互進程”、“批處理進程”、“監(jiān)控進程”三類。交互進程是由一個Shell啟動的進程;交互進程既可以在前臺運行,也可以在后臺運行。批處理進程和終端沒有聯(lián)系,是一個進程序列。監(jiān)控進程也稱守護進程,是一個在后臺運行且不受任何終端控制的特殊進程,用于執(zhí)行特定的系統(tǒng)任務。

linux中的進程一般分為哪三類

本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

什么是進程

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

進程可以看成程序執(zhí)行的一個實例。進程是系統(tǒng)資源分配的獨立實體,每個進程都擁有獨立的地址空間。一個進程無法訪問另一個進程的變量和數(shù)據(jù)結(jié)構(gòu),如果想讓一個進程訪問另一個進程的資源,需要使用進程間通信,比如管道,文件,套接字等。

進程分類

在Linux操作系統(tǒng)中,進程大致可以分為3中不同的類型,每種進程都有自己的特點和屬性。

  • 交互進程:由一個Shell啟動的進程,交互進程既可以在前臺運行,也可以在后臺運行。

  • 批處理進程:這種進程和終端沒有聯(lián)系,是一個進程序列。

  • 監(jiān)控進程:也稱守護進程,是一個在后臺運行且不受任何終端控制的特殊進程,用于執(zhí)行特定的系統(tǒng)任務。

進程的組成

一個進程包含內(nèi)核中的一部分地址空間和一系列數(shù)據(jù)結(jié)構(gòu)。其中地址空間是內(nèi)核標記的一部分內(nèi)存以供進程使用,而數(shù)據(jù)結(jié)構(gòu)則用來紀錄每個進程的具體信息。

最主要的進程信息包括:

  • 進程的地址空間圖

  • 進程當前的狀態(tài)( sleeping、stopped、runnable 等)

  • 進程的執(zhí)行優(yōu)先級

  • 進程調(diào)用的資源信息

  • 進程打開的文件和網(wǎng)絡端口信息

  • 進程的信號掩碼(指明哪種信號被屏蔽)

  • 進程的屬主

進程的狀態(tài)

  • 可運行狀態(tài):此時進程正在運行或者正在運行隊列中等待準備運行
  • 等待狀態(tài)(阻塞狀態(tài)):此時進程在等待一個事件的發(fā)生或某種系統(tǒng)資源。在Linux系統(tǒng)中等待狀態(tài)又細分為兩種等待狀態(tài):可中斷的等待狀態(tài)和不可中斷的等待狀態(tài)
    • 可中斷的等待狀態(tài):處于可中斷的等待狀態(tài)的進程可以被某一信號中斷
    • 不可中斷的等待狀態(tài):處于不可中斷的等待狀態(tài)的進程不受信號的打擾,將一直等待事件的發(fā)生或等待某種系統(tǒng)資源
  • 暫停狀態(tài):處于暫停狀態(tài)的進程被暫停運行
  • 僵死狀態(tài):每個進程在運行結(jié)束后都會處于僵死狀態(tài),等待父進程調(diào)用進而釋放系統(tǒng)資源,處于該狀態(tài)的進程已經(jīng)運行結(jié)束,但是它的父進程還沒有釋放其系統(tǒng)資源

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊15 分享