Skip to main content

Inittab-Linux / Unix Command

10.3 Init System and Run Levels (Iunie 2026)

10.3 Init System and Run Levels (Iunie 2026)
Anonim

inittab - format al fișierului inittab utilizat de procesul init compatibil cu sysv

Descriere

inittab fișierul descrie procesele care sunt pornite la pornire și în timpul funcționării normale (de exemplu, /etc/init.d/boot, /etc/init.d/rc, gettys …).init(8) distinge multiplerunlevels, fiecare dintre acestea putând avea un set propriu de procese care au început. Sunt valabile runlevelle0-6 la care se adaugaA, B, șiC pentrula cerere intrări. O intrare îninittab fișierul are următorul format:

id: runlevels: acțiune: proces

Linile care încep cu "#" sunt ignorate.

id este o secvență unică de 1-4 caractere care identifică o intrare îninittab(pentru versiunile de sysvinit compilate cu biblioteci <5.2.18 sau a.out libraries limita este de 2 caractere).

Notă: pentru gettys sau alte procese de conectare,id câmpul ar trebui să fie sufixul tty al tty corespunzător, de ex.1 pentrutty1. În caz contrar, este posibil ca contabilitatea de conectare să nu funcționeze corect.

runlevelslistează nivelurile de execuție pentru care ar trebui luată acțiunea specificată.

acțiunedescrie ce măsuri trebuie luate.

processpecifică procesul care trebuie executat. Dacă câmpul de proces începe cu un caracter "+"initnu va face utmp și wtmp contabilitatea pentru acest proces. Acest lucru este necesar pentru gettys care insista pe a face propriile lor utmp / wtmp gospodărie. Acesta este și un bug istoric.

runlevels câmpul poate conține mai multe caractere pentru diferite runlevels. De exemplu,123 specifică faptul că procesul trebuie inițiat la nivelul 1, 2 și 3runlevels pentrula cerereintrările pot conține oA, B, sauC.runlevels câmp desysinit, cizmă, șibootwait intrările sunt ignorate.

Când se modifică nivelul de execuție al sistemului, toate procesele care nu sunt specificate pentru noul nivel de execuție sunt ucise, mai întâi cu SIGTERM, apoi cu SIGKILL.

Acțiuni valabile pentruacțiune sunt:

respawn

Procesul va fi repornit ori de câte ori se termină (de exemplu, getty).

aștepta

Procesul va fi pornit o dată când se introduce nivelul de execuție specificat șiinitva aștepta terminarea sa.

o singura data

Procesul va fi executat o singură dată când se introduce nivelul de execuție specificat.

cizmă

Procesul va fi executat în timpul încărcării sistemului. runlevels câmpul este ignorat.

bootwait

Procesul va fi executat în timpul încărcării sistemului, în timp ceinitașteaptă terminarea acestuia (de exemplu, / etc / rc). runlevels câmpul este ignorat.

de pe

Acest lucru nu face nimic.

la cerere

Un proces marcat cu unla cerere runlevel va fi executat ori de câte ori este specificatla cerere runlevel este numit. Cu toate acestea, nu se va produce nici o modificare a nivelului de rulare (la cerere runlevels sunt "a", "b" și "c").

initdefault

Uninitdefault intrare specifică nivelul de execuție care trebuie introdus după boot-ul sistemului. Dacă nu există,init va cere un nivel de execuție pe consola. proces câmpul este ignorat.

sysinit

Procesul va fi executat în timpul încărcării sistemului. Va fi executat înainte de oricecizmă saubootwait intrări.runlevels câmpul este ignorat.

powerwait

Procesul va fi executat atunci când puterea va scădea. Init este de obicei informat despre acest lucru printr-un proces de conversație cu un UPS conectat la computer.init va aștepta finalizarea procesului înainte de a continua.

powerfail

În ceea ce priveștepowerwait, cu excepția căinit nu așteaptă finalizarea procesului.

powerokwait

Acest proces va fi executat cât mai curând posibilinit este informat că puterea a fost restabilită.

powerfailnow

Acest proces va fi executat cândinit se spune că bateria UPS-ului extern este aproape goală și că puterea este defectă (cu condiția ca UPS-ul extern și procesul de monitorizare să poată detecta această condiție).

ctrlaltdel

Procesul va fi executat cândinit primește semnalul SIGINT. Aceasta înseamnă că cineva de pe consola de sistem a apăsatCTRL-ALT-DEL combinație de taste. De obicei, cineva dorește să execute cevaînchide fie pentru a intra în un singur nivel de utilizator, fie pentru a reporni mașina.

kbrequest

Procesul va fi executat cândinit primește un semnal de la handler-ul tastaturii că o tastă combinată a fost apăsată pe tastatura consolei.

Documentația pentru această funcție nu este încă completă; mai multe documente pot fi găsite în pachetele kbd-x.xx (cea mai recentă a fost kbd-0.94 la momentul acestei scrieri). În principiu, doriți să mapați o anumită combinație de taste la acțiunea "KeyboardSignal". De exemplu, pentru a mapa Alt-Uparrow în acest scop, utilizați următoarele în fișierul keymap:

alt keycode 103 = TastaturăSignal

EXEMPLE

Acesta este un exemplu de inittab care seamănă cu vechea inittab Linux:

# inittab pentru linux id: 1: initdefault: rc :: bootwait: / etc / rc 1: 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: 1: respawn: etc / getty 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

Acest fișier inittab se execută/ Etc / rc în timpul boot-ului și începe gettys pe tty1-tty4.

Mai elaboratăinittab cu diferite runleveluri (vezi comentariile din interior):

# Nivel pentru a rula în id: 2: initdefault: # Inițializare sistem înainte de orice altceva. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 este oprit și repornit, 1 este modul de întreținere. l0: 0: așteptați: /etc/rc.d/rc.halt l1: 1: așteptați: /etc/rc.d/rc.single l2: 2345: așteptați: /etc/rc.d/rc.multi l6: 6: așteptați: /etc/rc.d/rc.reboot # Ce să faceți la "salutul cu 3 degete". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf acum # Runlevel 2 & 3: getty pe consola, nivelul 3, de asemenea getty pe portul de modem. 1: 23: respawn: / sbin / getty tty1 VC linux 2: 23: respawn: / sbin / getty tty2 VC linux 3: 23: respawn: / sbin / getty tty3 VC linux 4: 23: respawn: / sbin / getty tty4 VC linux S2: 3: respawn: / sbin / uugetty ttyS2 M19200

Vezi si

init(8), telinit(8)

Important: Folosește om comandă ( % om ) pentru a vedea cum se utilizează o comandă pe computerul dvs. particular.