Inittab — Linux/Unix komanda

The inittab fails apraksta, kuri procesi tiek palaisti sāknēšanas laikā un normālas darbības laikā. Tajā izšķir dažādas izpildes līmeņi, no kuriem katram var būt savs uzsākto procesu kopums. Derīgi izpildes līmeņi ir 0-6 plus A, B, un C ierakstiem pēc pieprasījuma. Ieraksts inittab failam ir šāds formāts:

id: izpildlīmeņi: darbība: process

Rindas, kas sākas ar “#”, tiek ignorētas.

Failā, idir unikāla 1–4 rakstzīmju secība, kas identificē ierakstu inittab.

programmētājs darbā
Getty Images / PeopleImages.com

Gettys vai citiem pieteikšanās procesiem, id laukam jābūt atbilstošā tty sufiksam tty, piem. 1 priekš tty1. Pretējā gadījumā pieteikšanās uzskaite var nedarboties pareizi.

Darbības līmeņi, darbība un procesi

Iniitab failā ir informācija, tostarp:

  • izpildes līmeņi uzskaita izpildes līmeņus, kuriem jāveic norādītā darbība.
  • darbība apraksta, kāda darbība būtu jāveic.
  • process norāda izpildāmo procesu. Ja procesa lauks sākas ar "+" rakstzīmi, tajā neveic utmp un wtmp uzskaiti šim procesam. Tas ir nepieciešams getty, kas uzstāj uz savu utmp/wtmp mājas uzkopšanu. Šī ir arī vēsturiska kļūda.

The izpildes līmeņi laukā var būt vairākas rakstzīmes dažādiem izpildes līmeņiem. Piemēram, 123 norāda, ka process jāsāk 1., 2. un 3. izpildes līmenī. The izpildes līmeņi priekš pēc pieprasījuma ieraksti var saturēt A, B, vai C. The izpildes līmeņi jomā sysinit, boot, un pagaidiet ieraksti tiek ignorēti.

Kad tiek mainīts sistēmas izpildes līmenis, visi darbības procesi, kas nav norādīti jaunajam izpildes līmenim, tiek iznīcināti, vispirms ar SIGTERM, pēc tam ar SIGKILL.

Rīcības standarti

Derīgas darbības darbība lauki ir:

  • atdzimt: process tiks restartēts ikreiz, kad tas beigsies (piem., Getty).
  • pagaidi: process tiks palaists vienreiz, kad tiks ievadīts norādītais izpildes līmenis un tajā gaidīs tā pārtraukšanu.
  • vienreiz: process tiks izpildīts vienreiz, kad tiks ievadīts norādītais izpildes līmenis.
  • boot: process tiks izpildīts sistēmas sāknēšanas laikā. The izpildes līmeņi lauks tiek ignorēts.
  • pagaidiet: process tiks izpildīts sistēmas sāknēšanas laikā, kamēr tajā gaida tā pārtraukšanu (piemēram, /etc/rc). The izpildes līmeņi lauks tiek ignorēts.
  • pēc pieprasījuma: process, kas atzīmēts ar pēc pieprasījuma izpildes līmenis tiks izpildīts ikreiz, kad tiks norādītspēc pieprasījuma Runlevel tiek saukts. Tomēr darbības līmeņa izmaiņas nenotiks (pēc pieprasījuma izpildes līmeņi ir "a", "b" un "c").
  • initdefault: An initdefault ieraksts norāda izpildes līmeni, kas jāievada pēc sistēmas sāknēšanas. Ja tādas nav, tajā prasīs izpildes līmeni konsolē. The process lauks tiek ignorēts.
  • sysinit: process tiks izpildīts laikā sistēmas sāknēšana. Tas tiks izpildīts pirms jebkura boot vaipagaidiet ieraksti. The izpildes līmeņi lauks tiek ignorēts.
  • powerwait: process tiks izpildīts, kad pazūd strāva. Init parasti par to informē procesa laikā, runājot ar UPS, kas savienots ar datoru. Tajā pirms turpināt, gaidīs, līdz process tiks pabeigts.
  • strāvas padeves pārtraukums: Kas attiecas uz powerwait, izņemot to tajā negaida procesa beigas.
  • powerokwait: šis process tiks izpildīts, tiklīdz tajā tiek informēts, ka strāvas padeve ir atjaunota.
  • strāvas padeves pārtraukums: Šis process tiks izpildīts, kad tajā tiek paziņots, ka ārējā UPS akumulators ir gandrīz tukšs un pazūd strāva (ar nosacījumu, ka ārējais UPS un uzraudzības process spēj noteikt šo stāvokli).
  • ctrlaltdel: process tiks izpildīts, kad tajā saņem SIGINT signālu. Tas nozīmē, ka kāds sistēmas konsolē ir nospiedis Ctrl-Alt-Del taustiņu kombinācija. Parasti cilvēks vēlas kaut ko izpildīt izslēgt vai nu lai nokļūtu viena lietotāja līmenī, vai uz pārstartēt mašīna.
  • kbrequest: process tiks izpildīts, kad tajā saņem signālu no tastatūras apstrādātāja, ka uz konsoles tastatūras tika nospiesta īpaša taustiņu kombinācija.

Šīs funkcijas dokumentācija vēl nav pabeigta; vairāk dokumentācijas var atrast kbd-x.xx pakotnēs. Būtībā jūs vēlaties kartēt kādu tastatūras kombināciju darbībai "KeyboardSignal". Piemēram, lai kartētu Alt+Arrow šim nolūkam savā taustiņu karšu failā izmantojiet:

alt keycode 103 = KeyboardSignal

"inittab" failu piemērs

Šis ir inittab piemērs, kas atgādina veco Linux inittab:

# inittab operētājsistēmai 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

Šis inittab fails tiek izpildīts /etc/rc sāknēšanas laikā un sāk gettys uz tty1-tty4.

Izstrādātāks inittab ar dažādiem izpildes līmeņiem:

# Līmenis, kurā ieskriet
id: 2:initdefault:
# Sistēmas inicializācija pirms visa cita.
si:: sysinit:/etc/rc.d/bcheckrc
# Runlevel 0,6 ir apturēšana un atsāknēšana, 1 ir uzturēšanas režīms.
l0:0:gaidiet:/etc/rc.d/rc.halt
l1:1:gaidiet:/etc/rc.d/rc.single
l2:2345:gaidiet:/etc/rc.d/rc.multi
l6:6:gaidiet:/etc/rc.d/rc.reboot
# Ko darīt "3 pirkstu salūtā".
ca:: ctrlaltdel:/sbin/shutdown -t5 -rf tagad
# Runlevel 2&3: getty uz konsoles, līmenis 3 arī getty modema portā.
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

Izmantojiet vīrietis komanda (% vīrietis), lai redzētu, kā komanda tiek izmantota jūsu konkrētajā datorā.