Skip to content

inittab—Linux / Unix-opdracht

14 de juli de 2021
developers team in their office 604865576 57ec164a5f9b586c35947008

De inittab bestand beschrijft welke processen worden gestart bij het opstarten en tijdens normaal bedrijf. In het onderscheidt verschillende runlevels, die elk hun eigen reeks processen kunnen hebben die worden gestart. Geldige runlevels zijn 06 plus EEN, B, en C voor inzendingen op aanvraag. Een vermelding in de inittab bestand heeft de volgende indeling: id:runlevels:action:process

Regels die beginnen met `#’ worden genegeerd. In het bestand, ID kaart is een unieke reeks van 1-4 tekens die een vermelding identificeert in inittab.

Voor gettys of andere inlogprocessen, de ID kaart veld moet het tty-achtervoegsel zijn van de corresponderende tty, bijv 1 voor tty1. Anders werkt de login-accounting mogelijk niet correct.

Runlevels, actie en processen

Het inititab-bestand bevat informatie, waaronder:

  • runlevels geeft de runlevels weer waarvoor de gespecificeerde actie moet worden ondernomen.
  • actie beschrijft welke actie moet worden ondernomen.
  • werkwijze specificeert het uit te voeren proces. Als het procesveld begint met een `+’ teken, in het zal utmp en wtmp geen boekhouding doen voor dat proces. Dit is nodig voor getty’s die erop staan ​​hun eigen utmp/wtmp-huishouding te doen. Ook dit is een historische bug.

De runlevels veld kan meerdere karakters bevatten voor verschillende runlevels. Bijvoorbeeld, 123 specificeert dat het proces moet worden gestart in runlevels 1, 2 en 3. De runlevels voor op aanvraag inzendingen kunnen een bevatten EEN, B, of C. De runlevels gebied van sysinit, laars, en bootwait vermeldingen worden genegeerd. Wanneer het runlevel van het systeem wordt gewijzigd, worden alle lopende processen die niet zijn gespecificeerd voor het nieuwe runlevel gedood, eerst met SIGTERM en daarna met SIGKILL.

Actienormen

Geldige acties voor de actie veld zijn:

  • respawn: Het proces wordt opnieuw gestart wanneer het wordt beëindigd (bijv. getty).
  • wacht: Het proces wordt één keer gestart wanneer het gespecificeerde runlevel wordt ingevoerd en in het zal wachten op de beëindiging ervan.
  • een keer: Het proces wordt één keer uitgevoerd wanneer het gespecificeerde runlevel wordt ingevoerd.
  • laars: Het proces wordt uitgevoerd tijdens het opstarten van het systeem. De runlevels veld wordt genegeerd.
  • bootwait: Het proces wordt uitgevoerd tijdens het opstarten van het systeem, terwijl in het wacht op beëindiging (bijv. /etc/rc). De runlevels veld wordt genegeerd.
  • op aanvraag: Een proces gemarkeerd met een op aanvraag runlevel wordt uitgevoerd wanneer de opgegevenop aanvraag runlevel wordt genoemd. Er zal echter geen runlevel-wijziging plaatsvinden (op aanvraag runlevels zijn `a’, `b’ en `c’).
  • initdefault: An initdefault entry specificeert het runlevel dat moet worden ingevoerd na het opstarten van het systeem. Als er geen bestaat, in het zal vragen om een ​​runlevel op de console. De werkwijze veld wordt genegeerd.
  • sysinit: Het proces wordt uitgevoerd tijdens het opstarten van het systeem. Het zal worden uitgevoerd voordat er een laars ofbootwait inzendingen. De runlevels veld wordt genegeerd.
  • powerwait: Het proces wordt uitgevoerd wanneer de stroom uitvalt. Init wordt hierover meestal geïnformeerd door een proces dat praat met een UPS die op de computer is aangesloten. In het wacht tot het proces is voltooid voordat u verder gaat.
  • stroomstoring: Wat betreft powerwait, behalve dat in het wacht niet op de voltooiing van het proces.
  • powerokwait: Dit proces wordt uitgevoerd zodra: in het wordt geïnformeerd dat de stroomvoorziening is hersteld.
  • stroomstoring: Dit proces wordt uitgevoerd wanneer: in het krijgt te horen dat de batterij van de externe UPS bijna leeg is en de stroom uitvalt (mits de externe UPS en het monitoringproces deze toestand kunnen detecteren).
  • ctrlaltdel: Het proces wordt uitgevoerd wanneer: in het ontvangt het SIGINT-signaal. Dit betekent dat iemand op de systeemconsole op de heeft gedrukt Ctrl-Alt-Del toetsen combinatie. Meestal wil men een soort van afsluiten ofwel om in het niveau voor één gebruiker te komen of om de machine opnieuw op te starten.
  • kbrequest: Het proces wordt uitgevoerd wanneer: in het ontvangt een signaal van de toetsenbordhandler dat een speciale toetscombinatie is ingedrukt op het consoletoetsenbord.

De documentatie voor deze functie is nog niet compleet; meer documentatie is te vinden in de kbd-x.xx-pakketten. Eigenlijk wil je een toetsenbordcombinatie toewijzen aan de actie “KeyboardSignal”. Bijvoorbeeld om in kaart te brengen Alt+pijl omhoog gebruik hiervoor het volgende in uw keymaps-bestand: alt keycode 103 = KeyboardSignal

Voorbeeld ‘inittab’-bestanden

Dit is een voorbeeld van een inittab die lijkt op de oude Linux inittab: # inittab voor 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

Dit inittab-bestand wordt uitgevoerd /etc/rc tijdens het opstarten en start gettys op tty1-tty4. Een meer uitgebreide inittab met verschillende runlevels: # Level om in te rennen
id:2:initdefault:
# Systeeminitialisatie voor alles.
si::sysinit:/etc/rc.d/bcheckrc
# Runlevel 0,6 is halt en reboot, 1 is onderhoudsmodus.
l0:0:wacht:/etc/rc.d/rc.halt
l1:1:wacht:/etc/rc.d/rc.single
l2:2345:wacht:/etc/rc.d/rc.multi
l6:6:wacht:/etc/rc.d/rc.reboot
# Wat te doen bij de “3-vingergroet”.
ca::ctrlaltdel:/sbin/shutdown -t5 -rf nu
# Runlevel 2&3: getty op console, level 3 ook getty op modempoort.
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

Gebruik de Mens commando (% Mens) om te zien hoe een opdracht op uw specifieke computer wordt gebruikt.