使用者程序init(順序閱讀五)

2021-07-24 19:29:18 字數 1481 閱讀 2496

一、init

init主要負責啟動和終止系統中的基礎服務程序

二、systemed

1、systemed是面向目標的,定義乙個要實現的目標以及它的依賴條件,systemd負責滿足所有依賴條件以及執行目標。

2、systemed的乙個重要特性:它可以延遲一些服務和作業系統功能的開啟,直到需要他麼的時候再開啟。

3、systemed執行步驟:載入配置資訊,判定啟動目標,判定啟動目標的所有依賴關係,啟用依賴的元件並啟動目標。

4、systemed特色:不僅僅負責處理程序和服務,還掛載檔案系統、監控網路套接字和執行時系統等,這些功能稱為單元。

5、systemed中的依賴關係:requires,wants,requisite,conflicts

6、systemed操作

獲取單元資訊:

$ systemctl  (list-units)

獲得單元狀態資訊

$ systemctl status media.mount                  //這裡輸出的資訊比傳統的init系統多,不僅時該單元的狀態,還有執行掛載的命令
檢視當前系統中的當前任務(啟用、關閉、重啟單元稱為任務)

$ systemctl list-jobs

三、upstart

1、upstart通過啟動任務的方式來響應訊息:任務時啟動和執行時upstart執行的操作(如系統服務和配置),事件時upstart從自身或者其他程序(如udevd)接受到的訊息。

2、upstart:它能夠接受訊息,根據收到的訊息來執行任務,並且產生更多的訊息,然後執行更多的任務。

3、upstart初始化過程:載入自身配置和/etc/init中的任務配置檔案,產生startup事件,啟動那些響應startup事件的任務

4、upstart任務:task任務(這些任務會明確終止在某一明確的時刻)和serbice任務(這些任務沒有明確的終止時間,如udevd這樣的守護服務程序、資料庫伺服器、網路伺服器)

5、upstart配置:task任務mountall(/etc/init/mountall.conf)和 service任務tty1(/etc/init/tty1.conf)

6、upstart操作

啟動upstart任務

# initctl start job
停止任務

# initctl stop job

重啟renwu

# initctl restart job

發出事件

# initctl emit event

7、upstart日誌

兩種基本的日誌型別:service任務日誌和upstart自己產生的系統診斷資訊。

Init程序和程序

1 init程序 是使用者空間的初始化程序,是使用者空間啟動的第乙個程序。使用者空間的其他所有程序都由init來管理,無需核心管理。2 程序 是程式的例項,程序有生命週期。備註 程式成為程序的過程 向核心申請記憶體空間,由核心來啟動乙個程序分配記憶體空間,程序關閉時釋放記憶體空間。3 使用者空間和核...

linux程序 init程序(九)

linux下有3個特殊的程序,idle程序 init程序 和kthreadd idle程序由系統自動建立,執行在核心態 idle程序其pid 0,其前身是系統建立的第乙個程序,也是唯一乙個沒有通過fork或者kernel thread產生的程序。完成載入系統後,演變為程序排程 交換 init程序由i...

init程序log抓取

adb logcat b events 列印events log資訊 ps顯示瞬間行程 process 的動態 ps az grep i init 查詢init的屬於的程序狀態 android上層都是基於 init程序孵化而來 init程序中的log資訊列印在kernel log 可以通過 adb ...