Ahoana ny fampiasana ny baiko Init amin'ny Linux

Init dia ray aman-dreny amin'ny dingana rehetra. Ny anjara asany voalohany dia ny mamorona processus avy amin'ny script voatahiry ao amin'ny rakitra / etc / inittab (jereo inittab (5)). Ity rakitra ity dia manana endri-tsoratra izay mamoaka ny getty s amin'ny andalana tsirairay izay azon'ny mpampiasa miditra ao. Manara-maso ihany koa ny fizotry ny autonomous izay takian'ny rafitra manokana.

Runlevels

Ny runlevel dia rafitra rindrambaiko amin'ny rafitra izay mamela ny vondrona voafantina voafantina. Ny fizotran'ny init ho an'ireo tsirairay ireo dia voafaritra ao amin'ny rakitra / etc / inittab . Ny init dia mety amin'ny iray amin'ireo valo valo: 0-6 sy S na s . Ny fiarandalamby dia niova noho ny fananana mpampiasa iray manana tombon- tsoavaly mandeha telinit , izay mandefa famantarana mifanaraka amin'ny init , milaza izany izay mandroso hiova.

Voafandrika ny Runlevels 0 , 1 , ary 6 . Ny Runlevel 0 dia ampiasaina hanakanana ny rafitra, ny runlevel 6 dia ampiasaina hanavao ny rafitra, ary ny runlevel 1 dia ampiasaina mba hahazoana ny rafitra midina ao anaty maoditry ny mpampiasa. Runlevel S dia tsy natao hampiasaina mivantana fa ho an'ny sora-baventy novonoina rehefa niditra ny labiera 1. Raha mila fanazavana fanampiny, dia jereo ny manipika ho an'ny shutdown (8) sy inittab (5).

Runlevels 7-9 dia marina ihany koa, na dia tsy voamarina aza. Izany dia satria "variana" ampiasain'ny Unix dia tsy mampiasa azy ireny. Raha toa ka liana ianao, dia mitovy ihany ny runevels S sy s . Ao anatiny izy ireo no misy aliases ho an'ny diplaomaty.

Booting

Rehefa voatendry ho dingana farany amin'ny fanombohana baiko kernel ny init dia mitady ny rakitra / etc / inittab raha te hahita raha misy ny initabeto (jereo inittab (5)). Ny fidirana amin'ny initdefault dia mamaritra ny laharam-pahamehan'ny rafitra. Raha tsy misy ny fidirana (na tsia / etc / inittab amin'ny ankapobeny), dia tsy maintsy miditra ao amin'ny console ny rafitra.

Runlevel S na s mitondra ny rafitra ho an'ny mpampiasa azy irery ary tsy mila file / etc / inittab . Ao amin'ny fomba fampiasa iray tokana dia sokafana fakan-tso ny / dev / console .

Rehefa miditra amin'ny mombamomba ny mpampiasa iray, dia mamaky ny states nyctl (2) avy amin'ny /etc/ioctl.save ny init . Raha tsy misy io rakitra io, dia manomboka voalohany ny laharana amin'ny baiko 9600 ary amin'ny toetoetran'ny CLOCAL . Rehefa mivoaka ny mombamomba ny mpampiasa tokana, dia mitahiry ny setroka misy ny console ao anatin'io rakitra io izy io mba hahafahany mamerina azy ireo indray amin'ny seho manaraka ho an'ny mpampiasa iray.

Rehefa miditra amin'ny mombamomba ny mpampiasa marika voalohany indrindra, init dia manatanteraka ny boot sy ny bootwait fidirana mba hamela ireo rafitra rakitra hapetraka alohan'ny ahafahan'ny mpampiasa mahazo miditra. Amin'izay dia alaina daholo ny fidirana mifanaraka amin'ilay runlevel.

Rehefa manomboka dingana vaovao ianao, dia manamarina aloha raha misy ny rakitra / etc / initscript . Raha izany no izy dia mampiasa io script io hanombohana ny dingana.

Isaky ny mamarana ny ankizy iray dia manoratra ny zava-misy ary ny antony nahafatesany tao / var / run / utmp ary / var / log / wtmp ny init , raha misy ny misy azy.

Miova Runlevels

Rehefa avy namarana ny fizotry ny dingana rehetra izy ireo, dia manantena ny iray amin'ireo processed descendant azy ho faty, famantarana signal power, na mandra- panaovan'ny telinit ny fanovana ny rafitra rafitra. Raha misy iray amin'ireo fepetra telo voalaza etsy ambony ireo, dia averiny indray ny rakitra / etc / inittab . Azonao atao ny manoratra vaovao vaovao amin'ny fotoana rehetra. Na izany aza, mbola manantena ny iray amin'ireo fepetra telo voalaza etsy ambony ireo. Mba hametrahana valinteny avy hatrany dia afaka mifoha indray ny baiko telinit Q na q raha te hijery indray ny rakitra / etc / inittab .

Raha tsy ao anatin'ny maoditry ny mpampiasa iray ny init ary mandray famantarana signal power (SIGPWR), dia mamaky ny rakitra / etc / powerstatus . Manomboka baiko miorina amin'ny votoatin'ity rakitra ity izany:

F (ail)

Tsy mahomby ny fahefana, ny UPS dia manome ny hery. Manaova ny laharana powerwait sy ny fahefana .

OK)

Naverina tamin'ny laoniny ny fahefana, manatanteraka ny fidirana powerocwait .

L (OW)

Tsy mahomby ny fahefana ary ny UPS dia manana batriaka kely. Manaova ny singa powerfailnow .

Raha misy / etc / powerstatus tsy misy na misy zavatra hafa, dia ny fihetsiky ny letters F , O , L , init tahaka ny efa namaky ny taratasy F.

Ny fampiasana SIGPWR sy / etc / powerstatus dia kivy. Ny olona te-hifanerasera amin'ny init dia tokony mampiasa ny / dev / initctl control channel - jereo ny fango loharanon'ny tambajotra sysvinit raha mila fanazavana fanampiny momba izany.

Rehefa nangatahana ny hanova ny laharana ny init, dia alefany ny SIGTERM fampitandremana ho an'ireo dingana rehetra izay tsy voafaritra ao amin'ny lalambe vaovao. Dia miandry 5 segondra alohan'ny hamonoana ireo dingana ireo amin'ny alàlan'ny famantarana SIGKILL . Mariho fa ny init dia mihevitra fa ireo dingana rehetra ireo (sy ny taranany) dia mitoetra ao anatin'ny vondrona mpanao dika mitovy izay namboarina ho azy ireo tany am-piandohana. Raha misy fiovana miova ny fiaraha-miasa amin'ny vondrona dia tsy handray ireny famantarana ireny. Ny dingana toy izany dia mila apetraka amin'ny fomba manokana.

Telinit

Zavatra tsy ampy / fanononana X-SAMPA tsy ampy, tsy nisy teny manokana voalaza Zavatra tsy ampy / fanononana tsy ampy amin'ny teny esperanto Mitaky fanamafisam-peo iray sy mari-pamantarana tokana ho an'ny fanatanterahana ny hetsika mety izany. Ireto manaraka ireto dia manondro torolàlana amin'ny telinit :

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

Lazao an- tsehatra ny hifindrana amin'ny dingana voafaritra.

a , b , d

Lazao an-tsehatra ny mivezivezy fotsiny ireo fidirana / etc / inittab raha toa ka efa nandalo fotsiny, b , c .

Q na q

Lazao ao an- tsainao ny hijery indray ny rakitra / etc / inittab .

S na s

Lazao an- tsehatra ny hifanitsy amin'ny mombamomba ny mpampiasa iray.

U na u

Lazao an- tariby ny hamerenana indray ny tenany (fitehirizana ny fanjakana). Tsy misy fijerena indray ny rakitra / etc / inittab . Ny laharam- piandohana dia tokony ho iray amin'ny Ss12345 , raha tsy izany, ny fangatahana dia tsy hiraharaha tsy an- kijanona .

Telinit dia afaka milaza koa hoe hafiriana no tokony hiandry amin'ny famoahana ny sanda SIGTERM sy SIGKILL. Ny fivezivezena dia 5 segondra, saingy azo ovaina amin'ny alalan'ny -t sec ny safidy.

Ny telinit dia azo ampiasaina amin'ny mpampiasa manana tombontsoa manokana.

Ny fikarakarana binary dia manamarina raha toa ka manomboka na telinit ny fijerena ny process id ; Ny idin'ny imailaka tena misy foana dia 1 . Avy amin'izany dia mitaky fa raha tokony hiantso ny telinit iray dia azo ampiasaina fotsiny fotsiny ny solonanarana toy ny fohy.