Cumu utilizà l'Indu Command in Linux

Init hè u principale di tutti i prublemi. U so rolu primariu hè di creà prucessi da un script guardatu in u / etc / inittab (vede inittab (5)). Questu furmazione sò generalmente l'intrattenimentu chì inghjulanu inghjulazione di spawning getty s in ogni linea chì l'utilizatori ponu in logu. Hè urdinendu cuntrolli prucessi autonomi necessitanti da qualsiasi sistema particular.

Runlevels

Un runlevel hè una cunfigurazione software di u sistema chì permette micca solu un gruppu selezziunatu di prucessi per esse. I prucessi generati da init per ogni cummerciu di sti riservi sò definiti in u / etc / inittab file. Init pò esse unu di ottu rispevule: 0-6 è S o s . U nivellu di stazzione hè cambiatu per avè un ghjocu privilevatu cù u telinitu , chì mandarà signalazioni appropritanti per init , è dicenu chì u risanamentu di mudificà.

Runlevels 0 , 1 è 6 sò riservate. Runlevel 0 s'utilice per annunzià u sistema, runlevel 6 hè utilizatu per rebootà u sistema, è runlevel 1 s'utilice per acquistà u sistemu in u modulu d'usu unicu. U Runlevel S ùn hè micca veramente significatu per esse direttamente direttamente, ma più per i scripti chì sò eserciti quandu accede u runlevel 1. Per più infurmazione nantu à questu, vede i manpages per shutdown (8) è inittab (5).

Runlevels 7-9 sò ancu validi, ma micca veramente documentati. Questa hè chì "varianti" tradiziunali "Unix" ùn l'anu micca usu. In casu hè curioso, i rispevulezzi S è sò in fattu u stessu. Intèrneru sò aliasi per u stessu nivulu di runlege.

Booting

Dopu avè hè invucatu cum'è l'ultimu passu di a securità di u kernel, a circà à u file / etc / inittab per vede s'ellu ci hè una entrada di u tipu initdefault (vede inittab (5)). A initdefault inserite determina u nfurmazzioni iniziale di u sistema. Se ùn ci hè nunda di l'accessu (o nimu / etc / inittab à tutti), un nivellu d'infestazione deve esse ingressu à a cunsola di sistema.

Runlevel S ou s portanu u sistema à u moddu di u usu è ùn es necessariu un / etc / inittab file. In u modu d'utilizatori unicu, un cascu di a raghja si apre u / dev / consola .

Quandu entra in modu di usu unicu, init leghje l' ioctl (2) di a cunsola di u /etc/ioctl.save . Se stu schedariu ùn esiste micca, init principia a linea à 9600 baud è cù l' aiutu CLOCAL . Quandu init abbanduneghja u modu di uttinu unicu, hà maghjillarii l' intrecciu ioctl di a cunsola in stu schedariu perch'ellu puderà utilizà à l'ùltima per a sesta sesión unica usu.

Quandu entra in un modu multiusuali per a prima volta, init cumanda l' iniziali è l' entratelimenta per permettà i sistemi di schedari da esse muntati prima chì l'utilizatori ponu accede. Alloghju tutte l'annunziu chì currisponde à u nivellu di runleghje hè procesatu.

Quandu u principiu un novu prucessu, init verifica prima si u file / etc / initscript esiste. Se si fa, usa stu script di principià u prucessu.

Ogni annuariu un figliolu finiscenu, init registra u fattu è a raggruzza chì hè mortu in / var / run / utmp è / var / log / wtmp , sempre chì esisti sti schedari.

Changing Runlevels

Dopu avè furnitu tutte e prucessi spicciati, init aspetta un di i so prucessi di a so dimora à a morte, un signalu di prugramma, o finu à chì hè signalatu da telinità per mudificà u runlevel di u sistema. Quandu una una di e trè condi di e trè conditione, recrutate u / etc / inittab file. Esse agghiuncià novi entrate à stu schedariu à ogni mumentu. Inoltre, Init segue a stenniu per una di e trè cunnisciuti per avè. Per provete una risposta instantània, u telinitu Q ou l'òrdine pò esse stallatu per riviscine u / etc / inittab file.

Se init ùn hè micca in modu di uttimulu unicu è riceve un signalu di prugramma (SIGPWR), leghjite u file / etc / powerstatus . Allora accumene una cumanda basata annantu à u cuntenutu di stu schedariu:

F (AIL)

Elettronica hè falluta, UPS vi furnisce u putere. Executà l' entusiasticu è l' attrici di powerfail .

O (K)

U puteru hè stata restaurada, eseguite e entru squadre .

L (OW)

U putere avere da fallimentu è a UPS hà una bassa bateria. Execute l'articuli powerfailnow .

Se / etc / powerstatus ùn esisti micca o cuntene tuttu, i carte F , O o L , init cumportanu cum'è si avete lettu a letter F.

U utilizazione di SIGPWR è / etc / powerstatus hè scuraggiatu. Qualchidunu chì vulgaria interaccettate cù init sò l'utilizate u canali di / dev / initctl - vede u codice fonte di u pacchje sysvinit per più documentazioni nantu à questu.

Quandu u principiu hè dumandatu à cambià u nivellu d'infestazione, Mandà u SIGTERM à a signalazione per tutti i prucessi chì sò micca difiniti in u novu nivellu di runlevel. Allora aspetta 5 settimane dopu à a validazione di questi prucessi via u signal SIGKILL . Avè chì init assume chì tutti questi prucessi (è i so discendenti) sò in u listessu gruppu di prucessa chì init originalmente creatu per elli. Se qualchì prucessu cambia a so affiliazione di gruppu di prucessa ùn vi riceve sti signalamenti. Tali prucessi anu bisognu à esse stati separati.

Telinit

/ sbin / telinit hè ligata cù / sbin / init . Ci hè una basa di caractère è signali inità per fà a realizazione adattata. I seguenti argumenti servevanu comu direttivi à telinit :

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

dì à cundite à cambià à u nivellu di cursu definitu.

a , b , c

dite init per prucessione solu quelli / etc / inittab entrati di l'architettura ccu runlevel a , b or c .

Q ou q

dite init per rieviscine u / etc / inittab file.

S o s

dì à inità à cambià à u moddu di u usu.

U o u

dite init à riparate l'esecutate (conservazione di l'statu). Ùn avete reeaminatu di u / etc / inittab file. U nivellu di u passatu duverà esse unu di Ss12345 , altru furmazione sarà silenciamente ignorata.

Telinit can also tell init quantu deve esse wait entre i processi di tramandazione i signali SIGTERM è SIGKILL. U predefinitu hè 5 segni, ma questu hè cambiatu cù l'opzione sec -t .

Telinit pò esse invucatu solu da l'utilizatori cun privileggi appruvati.

I cuntenutu di u cuntrollu bariu if is init o telinit visu à u so id processu ; l' identità di u veru prucessu di init hè sempre 1 . Da questu quì seguisce chì invece di chjamà u telinitu unu pò ancu esse aduprà init inveci in u cuntrariu.