Bawo ni lati lo Orisi Init ni Lainos

Init jẹ obi ti gbogbo awọn ilana. Ikọkọ ipa rẹ ni lati ṣẹda awọn ilana lati akosile ti a fipamọ sinu faili / ati be be lo / inittab (wo inittab (5)). Faili yi ni awọn titẹ sii ti o fa init si spawn getty s lori ila kọọkan ti awọn olumulo le wọle. O tun ṣakoso awọn ilana ti o yẹ fun ara nipasẹ eyikeyi eto.

Awọn ojuṣe

A runlevel jẹ iṣeto ni software ti eto ti o fun laaye nikan kan ti a ti yan ti awọn ilana lati tẹlẹ. Awọn ilana ti o wa fun init fun kọọkan ti awọn ipele wọnyi ti wa ni asọye ninu faili / ati be be lo / inittab . Init le wa ninu ọkan ninu awọn agbalaye mẹjọ: 0-6 ati S tabi s . Runlevel ti yipada nipasẹ nini olumulo anfani kan ṣiṣe telinit , eyi ti o rán awọn ifihan agbara to yẹ lati init , o sọ eyi ti runlevel lati yipada si.

Awọn ojuṣe 0 , 1 , ati 6 ti wa ni ipamọ. Runlevel 0 ti lo lati da eto naa duro, runlevel 6 ti lo lati atunbere eto, ati runlevel 1 ti a lo lati gba eto naa sinu ipo olumulo nikan. Runlevel S kii ṣe pataki lati lo ni taara, ṣugbọn diẹ sii fun awọn iwe afọwọkọ ti o ti pa nigba titẹ si runlevel 1. Fun alaye diẹ ẹ sii lori eyi, wo awọn ọna kika fun didi (8) ati inittab (5).

Runlevels 7-9 ni o tun wulo, bi o tilẹ jẹ pe ko ni akọsilẹ. Eyi jẹ nitori "ibile" Awọn iyatọ Unix ko lo wọn. Ni irú ti o jẹ iyanilenu, awọn iṣẹ S ati s jẹ otitọ kanna. Ni ipilẹ wọn jẹ awọn aliases fun iru runlevel kanna.

Bọtini

Lẹhin ti a npe ni init gegebi igbesẹ kẹhin ti ọkọọkan bata kernel, o wulẹ fun faili / ati be be lo / inittab lati ri bi o ba jẹ titẹsi ti iru initdefault (wo inittab (5)). Iṣiwe initdefault ṣe ipinnu oriṣe ti eto ni akọkọ. Ti ko ba si titẹsi bẹ bẹ (tabi rara / ati be be lo / inittab ni gbogbo), a gbọdọ tẹ olupin oju-iwe kan sinu ẹrọ eto.

Runlevel S tabi s mu eto naa si ipo olumulo nikan ati pe ko beere ohun / ati be be lo / inittab faili. Ni ipo olumulo nikan, a ṣii ikarahun irọri lori / dev / console .

Nigbati o ba wọ ipo olumulo nikan, init ka awọn itọnisọna ioctl (2) ti console naa lati /etc/ioctl.save . Ti faili yi ko ba wa tẹlẹ, init bẹrẹ ni ila ni 9600 baud ati pẹlu awọn eto CLOCAL . Nigba ti init fi ipo aladani kan silẹ, o tọju awọn eto ioctl ti console ni faili yii ki o le tun lo wọn fun igbimọ aṣoju-kọọkan ti o tẹle.

Nigbati o ba tẹ ipo ipo-ọna pupọ fun igba akọkọ, init ṣe awọn titẹ sii bata ati awọn titẹ sii bootwait lati gba ki awọn eto faili to wa ni iṣaju ṣaaju ki awọn olumulo le wọle. Nigbana ni gbogbo awọn titẹ sii ti o baamu ṣiṣe runlevel ti wa ni ṣiṣi.

Nigbati o ba bẹrẹ ilana titun kan, akọkọ akọkọ ṣayẹwo boya faili / ati be be lo / titẹ sii wa. Ti o ba jẹ bẹ, o nlo akọọlẹ yii lati bẹrẹ ilana naa.

Nigbakugba ti ọmọ ba pari, init akqsilc daju ati idi ti o ku ni / var / run / utmp ati / var / log / wtmp , pese pe awọn faili wọnyi wa.

Yiyipada Awọn iṣẹ ṣiṣe

Lẹhin ti o ti fi gbogbo awọn ilana ti a ti sọ pato han, init duro fun ọkan ninu awọn irufẹ ọmọ rẹ lati kú, ifihan agbara agbara, tabi titi ti a fi ṣe ami rẹ nipasẹ telinit lati yi igbasilẹ run system. Nigbati ọkan ninu awọn ipo mẹta ti o wa loke han, o tun ṣe ayẹwo awọn faili / ati be be / inittab . Awọn titẹ sii titun le wa ni afikun si faili yii nigbakugba. Sibẹsibẹ, init ṣi duro fun ọkan ninu awọn ipo mẹta ti o wa loke lati ṣẹlẹ. Lati pese fun idahun lẹsẹkẹsẹ, aṣẹ Q tabi q le wa ni iduro lati tun ayẹwo faili / etc / inittab .

Ti init ko ba ni ipo olumulo nikan ati gba ifihan agbara agbara (SIGPWR), o ka faili / ati be be / powerstatus . O lẹhinna bẹrẹ aṣẹ kan ti o da lori awọn akoonu ti faili yii:

F (AIL)

Agbara ti kuna, Pipade n pese agbara. Ṣiṣẹ awọn titẹ sii agbara ati fifọ agbara .

O (K)

A ti mu agbara naa pada, ṣaṣe awọn titẹ sii ti awọn eleri .

L (OW)

Agbara ti kuna ati pipade ti batiri kekere. Ṣiṣẹ awọn titẹ sii imudaniloju .

Ti / bbl / powerstatus ko ni tẹlẹ tabi ni nkan miiran lẹhinna awọn lẹta F , O tabi L , init yoo ṣe bi ẹnipe o ti ka lẹta F.

Lilo lilo SIGPWR ati / ati be be lo / powerstatus jẹ ailera. Ẹnikan ti o fẹ lati ṣepọ pẹlu init yẹ ki o lo ikanni iṣakoso / dev / initctl - wo koodu orisun ti package paṣipaarọ fun awọn iwe diẹ sii nipa eyi.

Nigba ti a ba beere fun init lati yi runlevel pada, o nfi ami ifihan SIGTERM ránṣẹ si gbogbo awọn ilana ti a ko le ṣalaye ni titun runlevel. O lẹhinna duro iṣẹju 5 ṣaaju ki o to fi opin si awọn ilana wọnyi laisi agbara nipasẹ ifihan SIGKILL . Akiyesi pe init dawọle pe gbogbo awọn ilana yii (ati awọn ọmọ wọn) wa ninu ẹgbẹ ilana kanna ti o jẹ akọkọ ti o da fun wọn. Ti ilana eyikeyi ba n ṣe ayipada ti iṣakoso ẹgbẹ rẹ kii yoo gba awọn ifihan agbara wọnyi. Awọn ilana yii nilo lati fopin si lọtọ.

Telinit

/ sbin / telinit ti sopọ si / sbin / init . Yoo gba ariyanjiyan ọkan-kikọ ati awọn intuwọn init lati ṣe iṣẹ ti o yẹ. Awọn ariyanjiyan wọnyi jẹ awọn itọnisọna lati ṣe alaye :

0 , 1 , 2 , 3 , 4 , 5 tabi 6

sọ init lati yipada si ipo idasẹtọ ti a ṣe.

a , b , c

sọ init lati ṣe ilana nikan awọn ohun elo / ati be be lo / inittab titẹ sii pẹlu runlevel a , b tabi c .

Q tabi q

sọ init lati tun ayẹwo faili / ati be be lo / inittab .

S tabi s

sọ init lati yipada si ipo olumulo nikan.

U tabi u

sọ init lati tun ṣe ara rẹ (titọju ipinle). Ko si atunyẹwo ti / ati be be lo / faili inittab ṣẹlẹ. Ipele igbiyanju yẹ ki o jẹ ọkan ninu Ss12345 , bibẹkọ ti ìbéèrè yoo jẹ aifọwọyi.

telinit tun le sọ init igba melo ti o yẹ ki o duro laarin fifiranṣẹ awọn ilana SIGTERM ati SIGKILL. Iyipada naa jẹ 5 aaya, ṣugbọn eyi le ṣee yipada pẹlu aṣayan- iṣẹju-aaya .

telinit le jẹ pe nikan nipasẹ awọn olumulo pẹlu awọn ẹtọ ti o yẹ.

Awọn iṣayẹwo alakomeji init ti o ba jẹ init tabi telinit nipa wiwo awọn ilana id ; ilana iṣesi gidi ti id jẹ nigbagbogbo 1 . Lati eyi o tẹle pe dipo pipe telinit ọkan le tun lo init dipo ọna abuja.