Linux 執行級init詳解

2021-08-30 03:45:36 字數 1658 閱讀 8433

執行級就是作業系統 當前正在執行的功能級別

。這個級別從1 到6 ,

具有不同的功能。這些級別在/etc/inittab 檔案 裡指定。這個檔案是init 程式尋找的

主要檔案,最先執行

的服務 是那些放在/etc/rc.d 目錄 下的檔案。

大多數的linux 發行版本中,啟動指令碼 位於 /etc/rc.d/init.d。這些指令碼

被ln 命令 來連線到 /etc/rc.d/rcn.d 目錄。(這裡的n 就是執行級0-6)

例如/etc/rc.d/rc2.d 下面的s10network 就是連線到/etc/rc.d/init.d下的network 腳

本的。因此,我們可以知道,rc2.d 下面的檔案就是和執行級2 有關的。

檔案開頭的s 代表start 就是啟動服務的意思,後面的數字10 就是啟動的順序。例如,

在同乙個目錄下,

你還可以看到 s80postfix 這個檔案,80 就是順序在 10 以後,因為沒有啟動網路的情

況下,啟動postfix

是沒有任何作用的。

再看一下 /etc/rc.d/rc3.d,可以看到檔案s60nfslock,但是這個檔案不存在於 /etc/

rc.d/rc2.d 目錄下。

nfs 要用到這個檔案,一般用在多使用者環境下,所以放在rc3.d 目錄下。

另外,在/etc/rc.d/rc2.d 還可以看到那些k 開頭的檔案,例如

/etc/rc.d/rc2.d/k45named ,k 代表 kill 。

標準的linux執行級為3 或者5 ,如果是3 的話,系統就在多使用者狀態。如果是5的話,

則是執行著x window

系統。如果目前正在3或5,而你把執行級降低到2的話,init 就會執行 k45named 指令碼

。不同的執行級定義如下:(可以參考red hat linux 裡面的/etc/inittab)

# 預設的執行級,rhs 用到的級別如下:

# 0 - 停機(千萬不要把initdefault 設定 為0 )

# 1 - 單使用者模式

# 2 - 多使用者,但是沒有 nfs

# 3 - 完全多使用者模式

# 4 - 沒有用到

# 5 - x11

# 6 - 重新啟動 (千萬不要把initdefault 設定為6 )

#對各個執行級的詳細解釋:

0 為停機,機器關閉。

1 為單使用者模式,就像win9x 下的安全模式類似。

2 為多使用者模式,但是沒有nfs 支援。

3 為完整的多使用者模式,是標準的執行級。

4 一般不用,在一些特殊情況下可以用它來做一些事情。

例如在筆記 本電腦的電池用盡時,可以切換到這個模式來做一些設定。

5 就是 x11 ,進到 x window 系統了。

6 為重啟,執行 init 6 機器就會重啟。

不同的執行級有不同的用處,也應該根據自己的不同情形來設定。例如,如果丟失了ro

ot 口令,那麼可以

讓機器啟動進入單使用者狀態來設定。在啟動後的 lilo 提示符下輸入:

init=/bin/sh rw

就可以使機器進入執行級1 ,並把 root 檔案系統掛為讀寫。他會跳過所有系統認證,

讓你使用passwd 程式

來改變root口令,然後啟動到乙個新的執行級。

linux 執行級別命令init

linux系統使用數字0 6來表示系統執行的狀態,如下 0 表示停機,當執行級別切換至0時,系統會立即關閉正在執行的服務,並關閉系統電源 1 表示單使用者模式,類似於windows系統中的安全模式。執行級別切換至1時,系統只允許root使用者登入,單使用者模式一般用於對系統進行維護 2 多使用者模式...

init執行過程

一。init init是核心啟動後執行的第乙個應用程式,主要工作就是完成對一系列作業系統啟動時就需要執行的應用程式的呼叫。init的原始碼在sysvinit包中,可以從http freshmeat.net projects sysvinit 獲得更多資訊。當然在linux世界裡,還有其它型別的ini...

FreeFlyOS 二 init部分詳解

init.c 建立臨時頁表,開啟分頁 include init.h include mem memlayout.h include debug debug.h 具體對映關係已經在kernel.ld中定義即,lma vma 0xc0000000,故 只需將核心所在的位址寫入頁表,並開啟分頁即可。ext...