Indlela yokusebenzisa i-Init Command ku-Linux

Init ngumzali wazo zonke izinqubo. Indima yayo eyinhloko ukudala izinqubo ezivela kwiskripthi egcinwe efayeleni / njll / inittab (bheka inittab (5)). Leli fayela livame ukungena okubangela ukuthi i- init ivule i-getty emgqeni ngamunye abasebenzisi abangangena kuwo. Iphinde ilawula izinqubo ezizimele ezidingekayo nganoma iyiphi indlela ethile.

Ama-Runlevels

I- runlevel ukucushwa kwesofthiwe yesistimu evumela kuphela iqembu elikhethiwe lezinqubo ukuthi likhona. Izinqubo ezivezwa yi- init ngayinye yalezi zigijimi zichazwe kufayili / etc / inittab . I-init ingaba kwenye ye-runlevels eyisikhombisa: 0-6 no- S noma i- s . I-runlevel ishintshwe ngokuba nomsebenzisi onomsebenzi osebenzisa i-telinit , eyathumela izimpawu ezifanele ukufaka init , etshela ukuthi i-runlevel iyashintsha kuphi.

Ama-Runlevels 0 , 1 , no- 6 agcinwe. I-Runlevel 0 isetshenziselwa ukumisa uhlelo, i-runlevel 6 isetshenziselwa ukuqala kabusha uhlelo, futhi i-runlevel 1 isetshenziselwa ukuhlehlisa uhlelo olulodwa kumodi yomsebenzisi oyedwa. I-Runlevel S ayihlosiwe ukuthi isetshenziswe ngokuqondile, kodwa ngaphezulu kwezkripthi ezenziwa lapho zifaka i-runlevel 1. Ukuze uthole olunye ulwazi ngalokhu, bheka amakhasi omuntu wokuvala (8) ne- inittab (5).

I-Runlevels 7-9 nayo ivumelekile, nakuba ingabhalwanga ngempela. Lokhu kungenxa yokuthi izinhlobo ze-Unix "zendabuko" azizisebenzisi. Uma kwenzeka uthanda, ama-runlevels S ne- s ayenjalo. Ngaphakathi ziyizihambeli ze-runlevel efanayo.

Ukuqothula

Ngemuva kokuthi i- init isetshenziswe njengesinyathelo sokugcina sokulandelana kwe-kernel boot, ibuka ifayela / njll / inittab ukubona ukuthi kukhona ukungena kohlobo oluthile (bheka inittab (5)). Okungenayo okuzenzakalelayo kunquma uhlelo lokuqala lwe-system. Uma kungenjalo ukungena (noma cha / njll / inittab nhlobo), i-runlevel kufanele ifakwe ku-console yesistimu.

I-Runlevel S noma i-Slethela uhlelo kumodi yomsebenzisi oyedwa futhi ayidingi ifayela / etc / inittab . Kumodi yomsebenzisi oyedwa, igobolondo lempande livuliwe ku / dev / console .

Uma ufaka imodi yomsebenzisi oyedwa, i- init ifunda ioctl (2) ye-console ithi kusuka /etc/ioctl.save . Uma le fayela engekho, init iqalisa umugqa ku- 9600 baud kanye nezilungiselelo ze- CLOCAL . Lapho ama- init amamodi womsebenzisi angayisebenzisi, igcina izilungiselelo ze- ioctl ze-console kuleli fayela ukuze liphinde lizisetshenziselwe iseshini esilandelayo yomsebenzisi oyedwa.

Uma ufaka imodi eminingi yomsebenzisi okokuqala, i- init yenza okufakwayo kwe- boot ne- bootwait ukuvumela izinhlelo zefayela ukuba zifakwe ngaphambi kokuba abasebenzisi bangene ngemvume. Khona-ke konke okufakiwe okuhambisana ne-runlevel kusetshenzwa.

Uma uqala inqubo entsha, i- init kuqala ihlola ukuthi ngabe ifayela / njll / initscript ikhona. Uma kuyenzeka, isebenzisa le script ukuqala inqubo.

Ngaso sonke isikhathi lapho ingane iphela, i- init irekhodi iqiniso futhi isizathu sokufa ku / var / run / utmp kanye / var / log / wtmp , uma nje la mafayela ekhona.

Ukushintsha i-Runlevels

Ngemuva kokuqala zonke izinqubo ezicacisiwe, i- init ilinda enye yezinqubo zayo zokufa, isignali ye-powerfail, noma ize ibhalwe yi- telinit ukushintsha i-runlevel yesistimu. Uma esinye sezimo ezintathu ezingenhla sitholakala, sihlola kabusha ifayela / etc / inittab . Okufakwayo okusha kungafakwa kule fayela kunoma yisiphi isikhathi. Kodwa-ke, i- init isalinde ukuthi esinye sezimo ezintathu ezingenhla zenzeke. Ukuhlinzeka ngokuphendula okusheshayo, i- telinit Q noma i- q imilayezo ingakwazi ukuvuka ukuze ihlole kabusha ifayela / etc / inittab .

Uma i- init ingekho kwimodi yomsebenzisi oyedwa futhi ithola isignali yamandla (SIGPWR), ifunda ifayela / njll / amandlastatus . I-ke iqala umyalo ngokusekelwe kokuqukethwe kwale fayela:

F (AIL)

Amandla ahluleka, i-UPS inikeza amandla. Yenza okufakwayo kwe- powerwait ne- powerfail .

KULUNGILE)

Amandla abuyiselwe, asebenze okufakiwe kwamandla .

L (OW)

Amandla ahluleka futhi i-UPS inebhethri ephansi. Yenza okufakiwe kwamandla .

Uma / njll / amandlastatus engekho noma iqukethe noma yini enye izinhlamvu F , O noma L , init zizoziphatha njengokungathi zifunde incwadi F.

Ukusetshenziswa kwe- SIGPWR kanye / njll / amandlastatus kudikibala. Umuntu ofuna ukuxhumana ne- init kufanele asebenzise isiteshi se- dev / initctl yokulawula - bona ikhodi yomthombo wephakheji ye- sysvinit ukuze uthole amanye amadokhumenti ngalokhu.

Uma i- init iceliwe ukuba ishintshe i-runlevel, ithumela isignali yokuxwayisa i-SIGTERM kuzo zonke izinqubo ezingenakulinganiswa ku-runlevel entsha. I-ke ilinde imizuzwana engu-5 ngaphambi kokuqeda ngokucacile lezi zinqubo ngesignali ye- SIGKILL . Qaphela ukuthi i- init ibona ukuthi zonke lezi zinqubo (kanye nenzalo yabo) zihlala eqenjini lezinqubo ezifanayo ezazisungulwa ekuqaleni. Uma ngabe iyiphi inqubo iguqula inqubo yeqembu lokusebenzisana ngeke ithole lezi zimpawu. Izinqubo ezinjalo zidinga ukuqedwa ngokwahlukana.

I-Telinit

/ sbin / telinit ixhunywe ku / sbin / init . Kuthatha ukuphikisana komlingisi oyedwa kanye namasignali okuyi-init ukwenza isenzo esifanele. Lezi ziphakamiso ezilandelayo zisebenza njengeziqondiso ku- telinit :

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

tshela i- init ukuze ushintshele ku-level ecacisiwe yokugijima.

a , b , c

tshela i- init ukucubungula kuphela okufakiwe kwamafayili / njll / inittab okuba ne-runlevel a , b noma c .

Q noma q

tshela init ukuthi uhlole kabusha ifayela / etc / inittab .

S noma s

tshela i- init ukushintshela kwimodi yomsebenzisi oyedwa.

U noma u

tshela i- init ukuthi iphinde ikwenze ngokwayo (ilondoloze isimo). Awekho ukuhlolwa kabusha kwefayela / etc / inittab okwenzekayo. Izinga lokugijima kufanele libe lenye ye- Ss12345 , isicelo esingenjalo singahle sishaywa indiva.

i-telinit ingabuye ibuye i- init ukuthi kufanele ilinde isikhathi esingakanani phakathi kokuthumela izinqubo ze-SIGTERM nama-SIGKILL. Okuzenzakalelayo kungamasekhondi angu-5, kodwa lokhu kungashintshwa nge-- t option option.

i-telinit ingenziwa kuphela ngabasebenzisi abanamalungelo afanelekayo.

I- init kanambambili ihlola uma i- init noma i- telinit ngokubheka i- id yenqubo yayo; i-id yenqubo yangempela ye- init njalo i- 1 . Kulokhu kulandela ukuthi esikhundleni sokubiza u- telinit ungasebenzisa i- init kunalokho njengesinqamuleli.