溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux運(yùn)行級別定義在什么文件中

發(fā)布時(shí)間:2022-05-13 09:32:09 來源:億速云 閱讀:198 作者:zzz 欄目:建站服務(wù)器

這篇“l(fā)inux運(yùn)行級別定義在什么文件中”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“l(fā)inux運(yùn)行級別定義在什么文件中”文章吧。

linux運(yùn)行級別定義在“/etc/inittab”配置文件中。“/etc/inittab”是linux初始化文件系統(tǒng)時(shí),init初始化程序用到的配置文件;該配置文件只能用來設(shè)置系統(tǒng)的默認(rèn)運(yùn)行級別,也就是系統(tǒng)開機(jī)后會進(jìn)入那個(gè)運(yùn)行級別。

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

什么是運(yùn)行級別呢?

其實(shí) Linux 是通過運(yùn)行級別來確定系統(tǒng)啟動(dòng)時(shí)到底啟動(dòng)哪些服務(wù)的。

Linux 默認(rèn)有 7 個(gè)運(yùn)行級別,具體如表 1 所示。

      表 1 運(yùn)行級別
              運(yùn)行級別              含 義
              0              關(guān)機(jī)
              1              單用戶模式,可以想象為 Windows 的安全模式,主要用于系統(tǒng)修復(fù)
              2              不完全的命令行模式,不含 NFS 服務(wù)
              3              完全的命令行模式,就是標(biāo)準(zhǔn)字符界面
              4              系統(tǒng)保留
              5              圖形模式
              6              重新啟動(dòng)

linux運(yùn)行級別定義在哪個(gè)文件中

linux運(yùn)行級別定義在“/etc/inittab”配置文件中。

/etc/inittab 配置文件只能用來設(shè)置系統(tǒng)的默認(rèn)運(yùn)行級別,也就是系統(tǒng)開機(jī)后會進(jìn)入那個(gè)運(yùn)行級別

/etc/inittab文件描述了哪些進(jìn)程開始啟動(dòng)并正常運(yùn)行。inittab為linux初始化文件系統(tǒng)時(shí)init初始化程序用到的配置文件。這個(gè)文件負(fù)責(zé)設(shè)置init初始化程序初始化腳本在哪里;每個(gè)運(yùn)行級初始化時(shí)運(yùn)行的命令;開機(jī)、關(guān)機(jī)、重啟對應(yīng)的命令;各運(yùn)行級登陸時(shí)所運(yùn)行的命令。

inittab文件中的條目的格式如下:

label:runlevels:action:process

下面分別介紹各個(gè)字段

1.label

label 是一個(gè)獨(dú)特的序列,確定了一個(gè)條目1 - 4字符,一些系統(tǒng)只支持2個(gè)字符的標(biāo)簽。對于getty或mingetty等其他login程序項(xiàng),要求label與tty的編號相同,否則getty程序?qū)⒉荒苷9ぷ鳌?/p>

常用標(biāo)簽有:

id 用來定義缺省的init運(yùn)行的級別
si 是系統(tǒng)初始化的進(jìn)程
ln 其中的n從1~6,指明該進(jìn)程可以使用的runlevel的級別
ud 是升級進(jìn)程
ca 指明當(dāng)按下Ctrl+Alt+Del時(shí)運(yùn)行的進(jìn)程
pf 指當(dāng)UPS表明斷電時(shí)運(yùn)行的進(jìn)程
pr 是在系統(tǒng)真正關(guān)閉之前,UPS發(fā)出電源恢復(fù)的信號時(shí)需要運(yùn)行的進(jìn)程
x 是將系統(tǒng)轉(zhuǎn)入X終端時(shí)需要運(yùn)行的進(jìn)程

2.runlevels

runlevels 列出了運(yùn)行級,指定應(yīng)該采取的動(dòng)作。可以指定多個(gè)runlevel級別,也可以不為runlevel字段指定特定的值。

runlevel 0是讓init關(guān)閉所有進(jìn)程并終止系統(tǒng)。
runlevel 1是用來將系統(tǒng)轉(zhuǎn)到單用戶模式,單用戶模式只能有系統(tǒng)管理員進(jìn)入,在該模式下處理那些在有登錄用戶的情況下不能進(jìn)行更改的文件,改runlevel的編號1也可以用S代替。
runlevel 2是允許系統(tǒng)進(jìn)入多用戶的模式,但并不支持文件共享,這種模式很少應(yīng)用。
runlevel 3是最常用的運(yùn)行模式,主要用來提供真正的多用戶模式,也是多數(shù)服務(wù)器的缺省模式。
runlevel 4一般不被系統(tǒng)使用,用戶可以設(shè)計(jì)自己的系統(tǒng)狀態(tài)并將其應(yīng)用到runlevel 4階段,盡管很少使用,但使用該系統(tǒng)可以實(shí)現(xiàn)一些特定的登錄請求。
runlevel 5是將系統(tǒng)初始化為專用的X Window終端。對功能強(qiáng)大的Linux系統(tǒng)來說,這并不是好的選擇,但用戶如果需要這樣,也可以通過在runlevel啟動(dòng)來實(shí)現(xiàn)該方案。
runlevel 6是關(guān)閉所有運(yùn)行的進(jìn)程并重新啟動(dòng)系統(tǒng)。

debian6以后默認(rèn)沒有運(yùn)行/etc/inittab 文件 默認(rèn)級別為2-5歸為一類

3.action

action 字段定義了該進(jìn)程應(yīng)該運(yùn)行在何種狀態(tài)下,描述其后的process的運(yùn)行方式的。:

respawn 不管何時(shí)終止都重新啟動(dòng)進(jìn)程
wait 運(yùn)行進(jìn)程等待輸入運(yùn)行模式   這個(gè)過程將會開始一次運(yùn)行級別時(shí)指定輸入和init將等待其終止
once 每一個(gè)runlevel級別運(yùn)行一次  這個(gè)過程將執(zhí)行一次當(dāng)指定輸入runlevel
boot 在系統(tǒng)啟動(dòng)時(shí)運(yùn)行,忽略runlevel
bootwait 在系統(tǒng)啟動(dòng)時(shí)運(yùn)行,init等待進(jìn)程完成。忽略runlevel
ctrlaltdel 當(dāng)Ctrl+Alt+Del三個(gè)鍵同時(shí)按下時(shí)運(yùn)行,把SIGINT信號發(fā)送給init。忽略 runlevel
initdefault 不要執(zhí)行這個(gè)進(jìn)程,它用于設(shè)置默認(rèn)runlevel
kbrequest 當(dāng)init從鍵盤中收到信號時(shí)運(yùn)行。這里要求鍵盤組合符合KeyBoardSigra
off 禁止進(jìn)入,因此該進(jìn)程不運(yùn)行
once 每一個(gè)runlevel級別運(yùn)行一次
ondemand 當(dāng)系統(tǒng)指定特定的運(yùn)行級別A、B、C時(shí)運(yùn)行
powerfail 當(dāng)init收到SIGPWR信號時(shí)運(yùn)行
powerokwait 當(dāng)收到SIGPWD信號且/etc/文件中的電源狀態(tài)包含OK時(shí)運(yùn)行
powerwait 當(dāng)收到SIGPWD信號,并且init等待進(jìn)程結(jié)束時(shí)運(yùn)行
sysinit 在運(yùn)行boot或bootwait進(jìn)程之前運(yùn)行

4.process

process字段包含init執(zhí)行的進(jìn)程,該進(jìn)程采用的格式與在命令行下運(yùn)行該進(jìn)程的格式一樣,因此process字段都以該進(jìn)程的名字開頭,緊跟著是運(yùn)行時(shí)要傳遞給該進(jìn)程的參數(shù)。

代碼如下:

# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

代碼如下:

# The default runlevel.
id:2:initdefault: #表示當(dāng)前缺省運(yùn)行級別為2

代碼如下:

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS #系統(tǒng)初始化的進(jìn)程

代碼如下:

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

代碼如下:

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.

代碼如下:

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fallthrough in case of emergency.
z6:6:respawn:/sbin/sulogin

代碼如下:

# What to do when CTRL-ALT-DEL is pressed. #在啟動(dòng)過程中是否允許按CTRL-ALT-DELETE重啟系統(tǒng)
#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

代碼如下:

# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."

代碼如下:

# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop

代碼如下:

# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# <id>:<runlevels>:<action>:<process>
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
# getty進(jìn)程來提供虛擬終端設(shè)備的服務(wù)
1:2345:respawn:/sbin/getty 38400 tty1

代碼如下:

#標(biāo)簽字段的值是1,1是設(shè)備tty1的數(shù)字后綴,tty1與相應(yīng)的進(jìn)程相關(guān)聯(lián),該getty進(jìn)程可以啟動(dòng)的runlevel是2,3,4和5,當(dāng)該進(jìn)程終止時(shí),init馬上就重新啟動(dòng)它。啟動(dòng)進(jìn)程的路徑名是/sbin/getty,該進(jìn)程是實(shí)現(xiàn)虛擬終端支持的最小版本的getty,為tty1提供啟動(dòng)虛擬設(shè)備的進(jìn)程。
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
T1:23:respawn:/sbin/getty -L ttyS1 115200 vt100
# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3

示例

# Begin /etc/inittab
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc sysinit
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
su:S016:once:/sbin/sulogin
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
# End /etc/inittab

以上就是關(guān)于“l(fā)inux運(yùn)行級別定義在什么文件中”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI