7.6. System V Bootscript, bruk og konfigurasjon

7.6.1. Hvordan fungerer System V Oppstartsskripter?

Linux bruker en spesiell oppstartsprosedyre kalt SysVinit som er basert på et konsept med kjøringsnivåer. Det kan være ganske forskjellig fra ett system til et annet, så det kan ikke antas at fordi ting fungerte i en bestemt Linux distribusjon, skulle de også fungere i LFS. LFS har sin egen måte å gjøre ting på, men den respekterer allment aksepterte standarder.

SysVinit (som vil bli referert til som "init" fra nå av) fungerer ved hjelp av kjøreordninger. Det er syv (nummerert 0 til 6) kjøringsnivåer (faktisk er det flere kjøringsnivåer, men de er for spesielle tilfeller og brukes vanligvis ikke. Se init(8) for mer informasjon), og hver av dem tilsvarer handlingene datamaskinen skal utføre når den starter. Standard kjøringsnivå er 3. Her er beskrivelsene av de forskjellige kjøringsnivåene når de implementeres:

0: stopp datamaskinen
1: enkeltbrukermodus
2: flerbrukermodus uten nettverk
3: flerbrukermodus med nettverk
4: reservert for tilpasning, ellers gjør den det samme som 3
5: samme som 4, det brukes vanligvis til GUI-pålogging (som Xs xdm eller KDEs kdm)
6: Start datamaskinen på nytt


7.6.2. Konfigurere Sysvinit

Under kjernelinitialiseringen er det første programmet som kjøres enten spesifisert på kommandolinjen eller som standard init. Dette programmet leser initialiseringsfilen /etc/inittab. Opprett denne filen med:

cat > /etc/inittab << "EOF"
# Begin /etc/inittab

 

id:3:initdefault:

 

si::sysinit:/etc/rc.d/init.d/rc S

 

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 --noclear 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
EOF

En forklaring på denne initialiseringsfilen er på man siden for inittab. For LFS er nøkkelkommandoen som kjøres rc. Initialiseringsfilen ovenfor vil instruere rc om å kjøre alle skriptene som begynner med en S i /etc/rc.d/rcS.d mappen etterfulgt av alle skriptene som begynner med en S i /etc/rc.d/rc ?. d mappen der spørsmålstegnet er spesifisert av initdefault verdien.

Som en bekvemmelighet leser rc skriptet et bibliotek med funksjoner i /lib/lsb/init-functions. Dette biblioteket leser også en valgfri konfigurasjonsfil, /etc/sysconfig/rc.site. Hvilke som helst av systemkonfigurasjonsfilparametrene som er beskrevet i påfølgende seksjoner, kan alternativt plasseres i denne filen, slik at alle systemparametere i denne filen kan konsolideres.

Som en feilsøkingsfunksjon logger funksjonsskriptet også all utdata til /run/var/bootlog. Siden /run mappen er en tmpfs, er denne filen ikke vedvarende på tvers av omstarter, men den er lagt til den mer permanente filen /var/log/boot.log på slutten av oppstartsprosessen.

7.6.2.1. Endring av kjørenivåer

Endring av kjørenivå gjøres med init <kjørenivå>, der <kjørenivå> er kjøringsnivået du vil bruke. For eksempel, for å starte datamaskinen på nytt, kan en bruker skrive init 6 kommandoen, som er et alias for reboot. På samme måte er init 0 et alias for halt kommandoen.

Det er en rekke mapper under /etc/rc.d som ser ut som rc? .D (hvor? Er nummeret på kjørenivået) og rcsysinit.d, som alle inneholder et antall symbolske lenker. Noen begynner med en K, de andre begynner med en S, og alle har to tall som følger den første bokstaven. K betyr å stoppe (kill) en tjeneste og S betyr å starte en tjeneste. Tallene bestemmer rekkefølgen som skriptene kjøres i, fra 00 til 99 - jo lavere nummer, jo tidligere blir det utført. Når init bytter til et annet kjøringsnivå, startes eller stoppes de aktuelle tjenestene, avhengig av valgt nivå.

De virkelige skriptene er i /etc/rc.d/init.d. De gjør selve arbeidet, og symlinkene peker alle mot dem. K-koblinger og S-koblinger peker til samme skript i /etc/rc.d/init.d. Dette er fordi skriptene kan kalles med forskjellige parametere som start, stop, restart, reload, og status. Når det oppdages en K-kobling, kjøres riktig skript med stop argumentet. Når det oppdages en S-kobling, kjøres riktig skript med start argumentet.

Det er ett unntak fra denne forklaringen. Koblinger som starter med et S i katalogene rc0.d og rc6.d vil ikke føre til at noe startes. De vil bli kalt med parameteren stop for å stoppe noe. Logikken bak dette er at når en bruker skal starte på nytt eller stoppe systemet, trenger ingenting å starte. Systemet trenger bare å stoppes.

Dette er beskrivelser av hva argumentene gjør at skriptene gjør:

start
  Tjenesten startes.

stop
  Tjenesten stoppes.

restart
  Tjenesten stoppes og startes deretter på nytt.

reload
   Konfigurasjonen av tjenesten er oppdatert. Denne brukes etter at konfigurasjonsfilen til en tjeneste ble endret, når tjenesten ikke trenger å startes på nytt.

status
   Forteller om tjenesten kjører og med hvilke PIDer.

Du er velkommen til å endre måten oppstartsprosessen fungerer på (tross alt er det ditt eget LFS-system). Filene som er gitt her er et eksempel på hvordan det kan gjøres.

7.6.3. Udev Bootskripter

Inetskriptet /etc/rc.d/init.d/udev starter udevd, utløser eventuelle "coldplug" enheter som allerede er opprettet av kjernen og venter på at alle regler skal fullføres. Skriptet deaktiverer også uevent behandleren fra standard /sbin/hotplug. Dette gjøres fordi kjernen ikke lenger trenger å kalle en ekstern binær. I stedet vil udevd lytte på en netlink socket for hendelser som kjernen reiser.

Initskriptet /etc/rc.d/init.d/udev_retry tar seg av gjenutløsende hendelser for delsystemer hvis regler kan stole på filsystemer som ikke er montert før mountfs skriptet kjøres (spesielt /usr og /var kan forårsake dette). Dette skriptet kjører etter mountfs skriptet, så disse reglene (hvis de utløses på nytt) skal lykkes andre gang. Den er konfigurert fra filen /etc/sysconfig/udev_retry; andre ord i denne filen, bortsett fra kommentarer, betraktes som delsystemnavn som kan utløses på nytt tidspunkt. For å finne delsystemet til en enhet, bruk udevadm info --attribute-walk <enhet> der <enhet> er en absolutt bane i /dev eller /sys som /dev/sr0 eller /sys/ class/rtc.

For informasjon om kjernemodulinnlasting og udev, se Avsnitt 7.3.2.3, “Modulinnlasting”.

7.6.4. Konfigurere systemklokken

setclock skriptet leser tiden fra maskinvareklokken, også kjent som BIOS eller Complementary Metal Oxide Semiconductor (CMOS) -klokken. Hvis maskinvareklokken er satt til UTC, vil dette skriptet konvertere maskinvareklokkens tid til lokal tid ved hjelp av /etc/localtime filen (som forteller hwclock programmet hvilken tidssone brukeren er i). Det er ingen måte å oppdage om maskinvareklokken er satt til UTC eller ikke, så dette må konfigureres manuelt.

setclock kjøres via udev når kjernen oppdager maskinvarefunksjonen ved oppstart. Den kan også kjøres manuelt med stop parameteren for å lagre systemtiden til CMOS klokken.

Hvis du ikke kan huske om maskinvareklokken er satt til UTC eller ikke, kan du finne ut av det ved å kjøre kommandoen hwclock --localtime --show. Dette vil vise hva gjeldende tid er i henhold til maskinvareklokken. Hvis denne tiden samsvarer med hva klokken din er, er maskinvareklokken satt til lokal tid. Hvis utdataen fra hwclock ikke er lokal tid, er sjansen stor for at den er satt til UTC. Bekreft dette ved å legge til eller trekke riktig mengde timer for tidssonen til tiden som vises av hwclock. For eksempel, hvis du for øyeblikket befinner deg i MST-tidssonen, som også er kjent som GMT -0700, kan du legge til syv timer til lokal tid.

Endre verdien på UTC variabelen nedenfor til en verdi på 0(null) hvis maskinvareklokken ikke er satt til UTC

.Opprett en ny fil /etc/sysconfig/clock ved å kjøre følgende:

cat > /etc/sysconfig/clock << "EOF"

# Begin /etc/sysconfig/clock

 

UTC=1

 

# Set this to any options you might need to give to hwclock,
# such as machine hardware clock type for Alphas.
CLOCKPARAMS=

 

# End /etc/sysconfig/clock
EOF

Et godt hint som forklarer hvordan du skal håndtere tid på LFS, er tilgjengelig på http://www.linuxfromscratch.org/hints/downloads/files/time.txt. Det forklarer spørsmål som tidssoner, UTC og TZ miljøvariabelen.

Parameterne CLOCKPARAMS og UTC kan alternativt settes i filen /etc/sysconfig/rc.site.

7.6.5. Konfigurere Linux konsollen

Denne delen diskuterer hvordan du konfigurerer console startskriptet som setter opp tastatur oppsettet, konsollfonten og konsollkjerneloggnivået. Hvis ikke-ASCII-tegn (f.eks. Copyright-tegnet, det britiske pundskiltet og eurosymbolet) ikke vil bli brukt, og tastaturet er et amerikansk, kan mye av denne delen hoppes over. Uten konfigurasjonsfilen (eller tilsvarende innstillinger i rc.site), vil console startsskriptet ikke gjøre noe.

console skriptet leser /etc/sysconfig/console filen for konfigurasjonsinformasjon. Bestem deg for hvilket tastatur og skjermskrifttype som skal brukes. Ulike språkspesifikke HOWTO-er kan også hjelpe med dette, se http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html. Hvis du fortsatt er i tvil, kan du se i katalogene /usr/share/keymaps og /usr/share/consolefonts for gyldige tastekart og skjermskrifter. Les manualsider for loadkeys(1) og setfont(8) for å finne de riktige argumentene for disse programmene.

/etc/sysconfig/console filen skal inneholde linjer i formen: VARIABLE="verdi". Følgende variabler gjenkjennes:

LOGLEVEL
  Denne variabelen spesifiserer loggnivået for kjernemeldinger som sendes til konsollen som angitt av dmesg. Gyldige nivåer er fra "1" (ingen meldinger) til "8". Standardnivået er "7".

KEYMAP
  Denne variabelen spesifiserer argumentene for loadkeys programmet, vanligvis navnet på tastatur oppsettet som skal lastes inn, f.eks. “It”. Hvis denne variabelen ikke er angitt, vil ikke oppstartsskriptet kjøre loadkeys programmet, og standard tastaturoppsett vil bli brukt. Merk at noen få tastaturoppsett har flere versjoner med samme navn (cz og dens varianter i qwerty/ og qwertz/, es i olpc/ og qwerty/, og trf i fgGIod/ og qwerty/). I disse tilfellene bør også hovedkatalogen spesifiseres (f.eks. Qwerty/es) for å sikre at riktig tastaturoppsett lastes inn.

KEYMAP_CORRECTIONS
  Denne (sjelden brukte) variabelen spesifiserer argumentene for det andre kallet til loadkeys programmet. Dette er nyttig hvis tastatur oppsettet ikke er tilfredsstillende og en liten justering må gjøres. Hvis du for eksempel vil ta med Euro-tegnet i et tastaturoppsett som normalt ikke har det, setter du denne variabelen til “euro2”.

FONT
  Denne variabelen spesifiserer argumentene for setfont programmet. Vanligvis inkluderer dette skriftnavnet, "-m" og navnet på applikasjonens tegnkart som skal lastes inn. For eksempel, for å laste fonten “lat1-16” sammen med “8859-1” applikasjonstegnkartet (slik det er passende i USA), sett denne variabelen til “lat1-16 -m 8859-1”. I UTF-8 modus bruker kjernen applikasjonstegnkartet for konvertering av sammensatte 8-biters tastekoder i tastatur oppsettet til UTF-8, og argumentet til "-m" -parameteren bør derfor settes til kodingen av de sammensatte tastaturkodene i tastaturet.

UNICODE
  Sett denne variabelen til “1”, “yes” eller “true” for å sette konsollen i UTF-8 modus. Dette er nyttig i UTF-8 baserte lokaliteter og er skadelig ellers.

LEGACY_CHARSET
  For mange tastaturoppsett er det ikke Unicode tastaturoppsett i Kbd pakken. console startskriptet konverterer et tilgjengelig tastaturoppsett til UTF-8 i farten hvis denne variabelen er satt til koding av det tilgjengelige ikke-UTF-8 tastatur oppsettet.

  • For et ikke-Unicode oppsett er det bare KEYMAP og FONT variablene som trengs. For eksempel, for et polsk oppsett, vil man bruke:
cat > /etc/sysconfig/console << "EOF"

# Begin /etc/sysconfig/console

 

KEYMAP="pl2"
FONT="lat2a-16 -m 8859-2"

 

# End /etc/sysconfig/console
EOF

  • Som nevnt ovenfor er det noen ganger nødvendig å justere et tastaturoppsett litt. Følgende eksempel legger til eurosymbolet i det tyske tastatur oppsettet:

cat > /etc/sysconfig/console << "EOF"
# Begin /etc/sysconfig/console

 

KEYMAP="de-latin1"
KEYMAP_CORRECTIONS="euro2"
FONT="lat0-16 -m 8859-15"
UNICODE="1"

 

# End /etc/sysconfig/console
EOF

  • Følgende er et Unicode aktivert eksempel for bulgarsk, der det finnes et UTF-8 tastaturoppsett:
cat > /etc/sysconfig/console << "EOF"

# Begin /etc/sysconfig/console

 

UNICODE="1"
KEYMAP="bg_bds-utf8"
FONT="LatArCyrHeb-16"

 

# End /etc/sysconfig/console
EOF

  • På grunn av bruken av en 512-glyph LatArCyrHeb-16 skrift i forrige eksempel, er lyse farger ikke lenger tilgjengelig på Linux konsollen med mindre det brukes et rammemellomlager (frame buffer). Hvis man ønsker å ha lyse farger uten rammemellomlager og kan leve uten tegn som ikke tilhører språket hans, er det fortsatt mulig å bruke en språkspesifikk 256-glyf skrift, som illustrert nedenfor:
cat > /etc/sysconfig/console << "EOF"

# Begin /etc/sysconfig/console

 

UNICODE="1"
KEYMAP="bg_bds-utf8"
FONT="cyr-sun16"

 

# End /etc/sysconfig/console
EOF

  • Følgende eksempel illustrerer autokonvertering av tastaturoppsett fra ISO-8859-15 til UTF-8 og muliggjør døde nøkler i Unicode modus:
cat> / etc / sysconfig / console << "EOF"

# Begin /etc/sysconfig/console

 

UNICODE = "1"
KEYMAP = "de-latin1"
KEYMAP_CORRECTIONS = "euro2"
LEGACY_CHARSET = "iso-8859-15"
FONT = "LatArCyrHeb-16 -m 8859-15"

 

# End /etc/sysconfig/console
EOF

  • Noen tastekart har døde nøkler (dvs. nøkler som ikke produserer et tegn alene, men legger en aksent på tegnet som produseres av neste tast) eller definerer komposisjonsregler (for eksempel: "trykk Ctrl +. AE for å få Æ" i standard tastaturoppsett). Linux-5.5.3 tolker bare døde nøkler og komposisjonsregler på tastatur oppsettet riktig når kildetegnene som skal komponeres sammen ikke er flerbyte. Denne mangelen påvirker ikke tastatur oppsettet for europeiske språk, fordi det legges aksenter til ikke-aksenterte ASCII-tegn, eller to ASCII-tegn er sammensatt sammen. I UTF-8 modus er det imidlertid et problem, for eksempel for det greske språket, der man noen ganger trenger å legge aksent på bokstaven "alfa". Løsningen er enten å unngå bruk av UTF-8, eller å installere X-vindussystemet som ikke har denne begrensningen i inndatahåndteringen.
  • For kinesisk, japansk, koreansk og noen andre språk kan ikke Linux konsollen konfigureres til å vise de nødvendige tegnene. Brukere som trenger slike språk, bør installere X Window System, skrifttyper som dekker de nødvendige tegnområdene og riktig inndatametoder (f.eks. SCIM, det støtter et bredt utvalg av språk).

Filen /etc/sysconfig/console kontrollerer bare lokalisering av Linux tekstkonsoll. Det har ingenting å gjøre med å angi riktig tastaturoppsett og terminalfonter i X Window System, med ssh økter eller med en seriell konsoll. I slike situasjoner gjelder ikke begrensningene nevnt i de to siste listeelementene ovenfor.

7.6.6. Opprette filer ved oppstart

Noen ganger er det ønskelig å opprette filer ved oppstart. For eksempel kan katalogen /tmp/.ICE-unix være ønsket. Dette kan gjøres ved å opprette en oppføring i konfigurasjonsskriptet /etc/sysconfig/createfiles. Formatet på denne filen er innebygd i kommentarene til standardkonfigurasjonsfilen.

7.6.7. Konfigurere sysklogd skriptet

Sysklogd skriptet påkaller syslogd programmet som en del av System V initialisering. Alternativet -m 0 deaktiverer det periodiske tidsstempelmerket som syslogd skriver til loggfilene hvert 20. minutt som standard. Hvis du vil slå på dette periodiske tidsstempelmerket, kan du redigere /etc/sysconfig/rc.site og definere variabelen SYSKLOGD_PARMS til ønsket verdi. For eksempel, for å fjerne alle parametere, sett variabelen til en nullverdi:

SYSKLOGD_PARMS=

Se man syslogd for flere alternativer.

7.6.8. Rc.site filen

Den valgfrie /etc/sysconfig/rc.site filen inneholder innstillinger som automatisk angis for hvert SystemV-oppstartsskript. Det kan alternativt angi verdiene som er angitt i hostname, console og clock filene i /etc/sysconfig/ mappen. Hvis de tilknyttede variablene er tilstede i både disse separate filene og rc.site, har verdiene i de skriptspesifikke filene forrang.

rc.site inneholder også parametere som kan tilpasse andre aspekter av oppstartsprosessen. Hvis du setter inn IPROMPT variabelen, blir det mulig å kjøre oppstartskript selektivt. Andre alternativer er beskrevet i filkommentarene. Standardversjonen av filen er som følger:

# rc.site
# Optional parameters for boot scripts.

 

# Distro Information
# These values, if specified here, override the defaults
#DISTRO="Linux From Scratch" # The distro name
#DISTRO_CONTACT="lfs-dev@linuxfromscratch.org" # Bug report address
#DISTRO_MINI="LFS" # Short name used in filenames for distro config

 

# Define custom colors used in messages printed to the screen

 

# Please consult `man console_codes` for more information
# under the "ECMA-48 Set Graphics Rendition" section
#
# Warning: when switching from a 8bit to a 9bit font,
# the linux console will reinterpret the bold (1;) to
# the top 256 glyphs of the 9bit font. This does
# not affect framebuffer consoles

 

# These values, if specified here, override the defaults
#BRACKET="\\033[1;34m" # Blue
#FAILURE="\\033[1;31m" # Red
#INFO="\\033[1;36m" # Cyan
#NORMAL="\\033[0;39m" # Grey
#SUCCESS="\\033[1;32m" # Green
#WARNING="\\033[1;33m" # Yellow

 

# Use a colored prefix
# These values, if specified here, override the defaults
#BMPREFIX=" "
#SUCCESS_PREFIX="${SUCCESS} * ${NORMAL} "
#FAILURE_PREFIX="${FAILURE}*****${NORMAL} "
#WARNING_PREFIX="${WARNING} *** ${NORMAL} "

 

# Manually seet the right edge of message output (characters)
# Useful when resetting console font during boot to override
# automatic screen width detection
#COLUMNS=120

 

# Interactive startup
#IPROMPT="yes" # Whether to display the interactive boot prompt
#itime="3" # The amount of time (in seconds) to display the prompt

 

# The total length of the distro welcome string, without escape codes
#wlen=$(echo "Welcome to ${DISTRO}" | wc -c )
#welcome_message="Welcome to ${INFO}${DISTRO}${NORMAL}"

 

# The total length of the interactive string, without escape codes
#ilen=$(echo "Press 'I' to enter interactive startup" | wc -c )
#i_message="Press '${FAILURE}I${NORMAL}' to enter interactive startup"

# Set scripts to skip the file system check on reboot
#FASTBOOT=yes

 

# Skip reading from the console
#HEADLESS=yes

 

# Write out fsck progress if yes
#VERBOSE_FSCK=no

 

# Speed up boot without waiting for settle in udev
#OMIT_UDEV_SETTLE=y

 

# Speed up boot without waiting for settle in udev_retry
#OMIT_UDEV_RETRY_SETTLE=yes

 

# Skip cleaning /tmp if yes
#SKIPTMPCLEAN=no

# For setclock


#UTC=1
#CLOCKPARAMS=

 

# For consolelog (Note that the default, 7=debug, is noisy)
#LOGLEVEL=7

 

# For network
#HOSTNAME=mylfs

 

# Delay between TERM and KILL signals at shutdown
#KILLDELAY=3

 

# Optional sysklogd parameters
#SYSKLOGD_PARMS="-m 0"

 

# Console parameters
#UNICODE=1
#KEYMAP="de-latin1"
#KEYMAP_CORRECTIONS="euro2"
#FONT="lat0-16 -m 8859-15"
#LEGACY_CHARSET=

 

7.6.8.1. Tilpasse Boot og Shutdown skript

LFS oppstartsskriptene starter og stenger ned et system på en ganske effektiv måte, men det er noen få tilpasninger du kan lage i rc.site filen for å forbedre hastigheten enda mer og for å justere meldinger i henhold til dine preferanser. For å gjøre dette, juster innstillingene i /etc/sysconfig/rc.site filen ovenfor.

  • Under oppstartsskriptet udev, er det en oppfordring til udev settle som krever litt tid å fullføre. Denne tiden kan være nødvendig eller ikke, avhengig av hvilke enheter som er tilstede i systemet. Hvis du bare har enkle partisjoner og et enkelt Ethernet kort, trenger ikke oppstartsprosessen å vente på denne kommandoen. For å hoppe over den, sett variabelen OMIT_UDEV_SETTLE=y.
  • Oppstartsskriptet udev_retry kjører også udev settle som standard. Denne kommandoen er bare nødvendig som standard hvis /var mappen er separat montert. Dette er fordi klokken trenger filen /var/lib/hwclock/adjtime. Andre tilpasninger kan også trenge å vente på at udev er fullført, men i mange installasjoner er det ikke nødvendig. Hopp over kommandoen ved å sette variabelen OMIT_UDEV_RETRY_SETTLE=y.
  • Som standard er filsystemkontrollene stille. Dette kan se ut til å være en forsinkelse under oppstartprosessen. For å slå på fsck utdataen, sett variabelen VERBOSE_FSCK=y.
  • Når du starter på nytt, vil du kanskje hoppe over filsystemkontrollen, fsck, helt. For å gjøre dette må du enten opprette filen /fastboot eller starte systemet på nytt med kommandoen /sbin/shutdown -f -r now. På den annen side kan du tvinge alle filsystemer til å bli sjekket ved å opprette /forcefsck eller gjøre omstarten med -F-parameteren i stedet for -f

    .Innstilling av variabelen FASTBOOT=y vil deaktivere fsck under oppstartsprosessen til den fjernes. Dette anbefales ikke permanent.
  • Normalt slettes alle filene i /tmp mappen ved oppstart. Avhengig av antall filer eller kataloger som er tilstede, kan dette føre til en merkbar forsinkelse i oppstartsprosessen. For å hoppe over å fjerne disse filene, sett variabelen SKIPTMPCLEAN=y.
  • Under avslutning sender init programmet et TERM signal til hvert program det har startet (f.eks. agetty), venter på en angitt tid (standard 3 sekunder), og sender hver prosess et KILL signal og venter på nytt. Denne prosessen gjentas i sendsignals skriptet for prosesser som ikke stenges av egne skript. Forsinkelsen for init kan settes ved å sende en parameter. For eksempel for å fjerne forsinkelsen i init, send -t0-parameteren når du stenger eller starter på nytt (f.eks. /sbin/shutdown -t0 -r now). Forsinkelsen for sendsignals skriptet kan hoppes over ved å sette parameteren KILLDELAY=0.
Forrige Hjem Neste