Dans quel fichier les niveaux d'exécution Linux sont-ils définis ?

青灯夜游
Libérer: 2022-05-12 18:19:47
original
3502 Les gens l'ont consulté

Le niveau d'exécution Linux est défini dans le fichier de configuration "/etc/inittab". "/etc/inittab" est le fichier de configuration utilisé par le programme d'initialisation init lorsque Linux initialise le système de fichiers ; ce fichier de configuration ne peut être utilisé que pour définir le niveau d'exécution par défaut du système, qui est le niveau d'exécution auquel le système entrera après. démarrage.

Dans quel fichier les niveaux d'exécution Linux sont-ils définis ?

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, ordinateur Dell G3.

Qu'est-ce qu'un niveau de course ?

En fait, Linux utilise les niveaux d'exécution pour déterminer quels services sont démarrés au démarrage du système.

Linux a 7 niveaux d'exécution par défaut, comme indiqué dans le tableau 1.

Tableau 1 Niveaux d'exécution
              Niveau de course               Signification
                 0             Arrêtez
              1             Le mode mono-utilisateur, que l'on peut imaginer comme le mode sans échec de Windows, est principalement utilisé pour la réparation du système
​​​​​​ 2             Mode ligne de commande incomplet, n'inclut pas le service NFS
​​​​​​ 3             Mode ligne de commande complet, qui est l'interface de caractères standard
​​​​​​ 4             Système réservé
                5               Mode graphique
              6               Redémarrer

Dans quel fichier le niveau d'exécution Linux est-il défini ?

Le niveau d'exécution Linux est défini dans le fichier de configuration "/etc/inittab".

/etc/inittab Le fichier de configuration ne peut être utilisé que pour définir le niveau d'exécution par défaut du système, c'est-à-dire le niveau d'exécution dans lequel le système entrera après le démarrage. Le fichier /etc/inittab décrit les processus qui démarrent et s'exécutent normalement. inittab est le fichier de configuration utilisé par le programme d'initialisation init lorsque Linux initialise le système de fichiers. Ce fichier est chargé de définir l'emplacement du script d'initialisation du programme d'initialisation ; les commandes à exécuter lorsque chaque niveau d'exécution est initialisé ; les commandes correspondant au démarrage, à l'arrêt et au redémarrage et les commandes à exécuter lors de la journalisation de chaque niveau d'exécution ; dans.

Le format des entrées dans le fichier inittab est le suivant :

label:runlevels:action:process
Copier après la connexion

Les champs suivants sont introduits séparément

1.labellabel est une séquence unique qui détermine une entrée de 1 à 4 caractères. Certains systèmes ne prennent en charge que les étiquettes à 2 caractères. Pour les autres éléments du programme de connexion tels que getty ou mingetty, l'étiquette et les numéros d'tty doivent être identiques, sinon le programme getty ne fonctionnera pas correctement.

Les balises couramment utilisées sont :

id 用来定义缺省的init运行的级别
si 是系统初始化的进程
ln 其中的n从1~6,指明该进程可以使用的runlevel的级别
ud 是升级进程
ca 指明当按下Ctrl+Alt+Del时运行的进程
pf 指当UPS表明断电时运行的进程
pr 是在系统真正关闭之前,UPS发出电源恢复的信号时需要运行的进程
x 是将系统转入X终端时需要运行的进程
Copier après la connexion

2.runlevelsrunlevels répertorie les niveaux d'exécution et spécifie les actions à entreprendre. Plusieurs niveaux de niveau d'exécution peuvent être spécifiés, ou aucune valeur spécifique ne peut être spécifiée pour le champ niveau d'exécution.

runlevel 0是让init关闭所有进程并终止系统。
runlevel 1是用来将系统转到单用户模式,单用户模式只能有系统管理员进入,在该模式下处理那些在有登录用户的情况下不能进行更改的文件,改runlevel的编号1也可以用S代替。
runlevel 2是允许系统进入多用户的模式,但并不支持文件共享,这种模式很少应用。
runlevel 3是最常用的运行模式,主要用来提供真正的多用户模式,也是多数服务器的缺省模式。
runlevel 4一般不被系统使用,用户可以设计自己的系统状态并将其应用到runlevel 4阶段,尽管很少使用,但使用该系统可以实现一些特定的登录请求。
runlevel 5是将系统初始化为专用的X Window终端。对功能强大的Linux系统来说,这并不是好的选择,但用户如果需要这样,也可以通过在runlevel启动来实现该方案。
runlevel 6是关闭所有运行的进程并重新启动系统。
Copier après la connexion

Debian 6 et versions ultérieures ne s'exécutent pas par défaut. Le niveau par défaut du fichier /etc/inittab est 2-5 et est classé dans une seule catégorie. :

respawn 不管何时终止都重新启动进程
wait 运行进程等待输入运行模式   这个过程将会开始一次运行级别时指定输入和init将等待其终止
once 每一个runlevel级别运行一次  这个过程将执行一次当指定输入runlevel
boot 在系统启动时运行,忽略runlevel
bootwait 在系统启动时运行,init等待进程完成。忽略runlevel
ctrlaltdel 当Ctrl+Alt+Del三个键同时按下时运行,把SIGINT信号发送给init。忽略 runlevel
initdefault 不要执行这个进程,它用于设置默认runlevel
kbrequest 当init从键盘中收到信号时运行。这里要求键盘组合符合KeyBoardSigra
off 禁止进入,因此该进程不运行
once 每一个runlevel级别运行一次
ondemand 当系统指定特定的运行级别A、B、C时运行
powerfail 当init收到SIGPWR信号时运行
powerokwait 当收到SIGPWD信号且/etc/文件中的电源状态包含OK时运行
powerwait 当收到SIGPWD信号,并且init等待进程结束时运行
sysinit 在运行boot或bootwait进程之前运行
Copier après la connexion

4.processLe champ processus contient le processus exécuté par init Le format du processus est le même que celui de l'exécution du processus sous la ligne de commande, donc le champ processus commence par le nom. du processus, suivi de Suivi des paramètres à transmettre au processus au moment de l'exécution.

Le code est le suivant :

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

Le code est le suivant :

# The default runlevel.
id:2:initdefault: #表示当前缺省运行级别为2
Copier après la connexion
Le code est le suivant :
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS #系统初始化的进程
Copier après la connexion
Le code est le suivant :

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
Copier après la connexion

Le code est le suivant :

# /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.
Copier après la connexion

Le code est comme suit :

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
Copier après la connexion

Le code est le suivant :

# What to do when CTRL-ALT-DEL is pressed. #在启动过程中是否允许按CTRL-ALT-DELETE重启系统
#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
Copier après la connexion

Le code est le suivant :

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

Le code est le suivant :

# 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
Copier après la connexion

Le code est le suivant :

# /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&#39;s go ahead but skip tty7 if you run X.
# getty进程来提供虚拟终端设备的服务
1:2345:respawn:/sbin/getty 38400 tty1
Copier après la connexion

Le code est le suivant :

#标签字段的值是1,1是设备tty1的数字后缀,tty1与相应的进程相关联,该getty进程可以启动的runlevel是2,3,4和5,当该进程终止时,init马上就重新启动它。启动进程的路径名是/sbin/getty,该进程是实现虚拟终端支持的最小版本的getty,为tty1提供启动虚拟设备的进程。
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
Copier après la connexion

Exemple

# 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
Copier après la connexion

Recommandations associées : "

Tutoriel vidéo Linux

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!