Kumaha Pake Komando Init dina Linux Ubuntu

Init téh indungna sadaya prosés. Peran primér na nya éta nyieun proses ti Aksara disimpen di file / jsb / inittab (tingali inittab (5)). File ieu biasana boga eusi anu ngakibatkeun init kana spawn Getty s on tiap garis nu pamaké tiasa lebet. Ogé ngatur proses otonom diperlukeun ku sagala sistem nu tangtu.

Runlevels

A runlevel mangrupakeun konfigurasi software tina sistem nu ngamungkinkeun hijina grup dipilih prosés keur aya. Prosés ngaluncurkeun ku init keur unggal runlevels ieu téh ditetepkeun dina / jsb / file inittab. Init tiasa di salah sahiji dalapan runlevels: 0-6 jeung S atawa s. Runlevel nu dirobah ku gaduh telinit pamaké amprok bencong nu ngirimkeun sinyal luyu mun init, sangkan eta nu runlevel pikeun ngaganti ka.

Runlevels 0, 1, sarta 6 anu ditangtayungan. Runlevel 0 anu dipaké pikeun halt sistem, runlevel 6 ieu dipaké pikeun reboot sistem, sarta runlevel 1 ieu dipaké pikeun meunang sistem handap kana mode tunggal pamaké. Runlevel S teu bener dimaksudkan pikeun dipaké langsung, tapi leuwih pikeun Aksara nu dieksekusi lamun ngasupkeun runlevel 1. Kanggo informasi langkung lengkep ihwal ieu, ningali manpages pikeun shutdown (8) jeung inittab (5).

Runlevels 7-9 oge valid, sanajan teu bener documented. Ieu alatan "tradisional" varian Unix teu make eta. Bisi anjeun panasaran, runlevels S jeung s nu dina kanyataanana sami. Internal aranjeunna aliases keur runlevel sarua.

booting

Saatos init ieu invoked salaku hambalan panungtungan tina sekuen boot kernel, éta Sigana keur file / jsb / inittab ningali lamun aya entri tina tipe initdefault (tingali inittab (5)). The initdefault Éntri nangtukeun runlevel awal sistem. Lamun teu aya entri sapertos (atawa euweuh / jsb / inittab pisan), a runlevel kudu diasupkeun dina Sistim konsol.

Runlevel S atawa s mawa sistem ka modeu tunggal pamaké sarta teu merlukeun hiji / jsb / inittab file. Dina modeu tunggal pamaké, cangkang root dibuka dina / dev / konsol.

Lamun ngasupkeun mode tunggal pamaké, init berbunyi konsol urang ioctl (2) nyebutkeun ti /etc/ioctl.save. Lamun file ieu teu aya, init initializes garis dina 9600 baud na kalawan pangaturan CLOCAL. Nalika init daun mode tunggal pamaké, éta nyimpen pangaturan ioctl konsol di file ieu kitu eta tiasa make-deui aranjeunna keur sidang single-pamaké salajengna.

Lamun ngasupkeun hiji mode multi-pamaké pikeun kahiji kalina, init ngalakukeun boot jeung entri bootwait pikeun ngidinan sistem file bisa dipasang saméméh pamaké tiasa lebet. Lajeng sadayana éntri cocog runlevel nu aya diolah.

Nalika dimimitian prosés anyar, init cék munggaran naha file / jsb / initscript aya. Mun hancana, eta perkara migunakeun ieu naskah pikeun ngamimitian prosés.

Unggal waktos anak terminates, init rékaman kanyataan na alesanana eta maot dina / var / ngajalankeun / utmp jeung / var / log / wtmp, disadiakeun anu file ieu aya.

ngarobah Runlevels

Saatos eta geus ngaluncurkeun sakabéh prosés dieusian, init waits pikeun salah sahiji prosés turunan -na pikeun maot, sinyal powerfail, atawa nepika dibéré telinit ngarobih runlevel sistem urang. Nalika salah sahiji luhur tilu kaayaan lumangsung,-examines deui ka / jsb / inittab file eta. éntri anyar bisa ditambahkeun kana file ieu iraha wae. Sanajan kitu, init masih waits pikeun salah sahiji luhur tilu kaayaan keur lumangsung. Nyadiakeun keur hiji respon sakedapan, anu telinit Q atanapi q paréntah bisa bangun init kana deui nalungtik-éta / jsb / inittab file.

Mun init henteu dina modeu tunggal pamaké sarta narima sinyal powerfail (SIGPWR), eta maos file / jsb / powerstatus. Ieu lajeng dimimitian paréntah dumasar kana eusi file ieu:

F (AIL)

Kakuatan ieu gagal, UPS geus nyadiakeun daya. Ngaéksekusi nu powerwait jeung entri powerfail.

OKÉ)

Kakuatan geus dibalikeun, ngaéksekusi éntri powerokwait.

L (aduh)

kakuatan kasebut gagal sarta UPS ngabogaan batré saeutik. Ngaéksekusi éntri powerfailnow.

Lamun / jsb / powerstatus teu aya atanapi ngandung lain nanaon mangka hurup F, O atawa L, init bakal kalakuanana saperti lamun eta geus baca huruf F.

Pamakéan of SIGPWR jeung / jsb / powerstatus ieu discouraged. Batur wanting pikeun berinteraksi sareng init kedah nganggo / dev / saluran kontrol initctl - ningali kode sumber ti pakét sysvinit pikeun dokuméntasi ngeunaan ieu.

Nalika init geus dipénta ka ngarobah runlevel, éta ngirimkeun éta SIGTERM sinyal gera ka sadaya prosés nu undefined dina runlevel anyar. Ieu lajeng waits 5 detik sateuacan forcibly terminating prosés ieu via sinyal SIGKILL. Catet yén init nganggap yen sagala proses ieu (sarta turunan maranéhanana) tetep di group prosés sami nu init mimitina dijieun pikeun aranjeunna. Mun prosés sagala robah karaketan group prosés na eta moal narima sinyal ieu. Prosés sapertos perlu terminated nyalira.

Telinit

/ sbin / telinit ieu numbu ka / sbin / init. Butuh argumen hiji-karakter jeung sinyal init nedunan peta hade. Dalil handap ngawula salaku directives mun telinit:

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

ngabejaan init ka pindah kana tingkat jalankeun dieusian.

a, b, c

ngabejaan init ngolah ngan maranéhanana / jsb / éntri file inittab ngabogaan runlevel a, b atawa c.

Q atanapi q

ngabejaan init ka ulang nguji / jsb / inittab file.

S atawa s

ngabejaan init ka pindah kana modeu tunggal pamaké.

U atanapi u

ngabejaan init ka ulang ngaéksekusi sorangan (preserving nagara). Taya ulang examining of / jsb / file inittab kajadian. Tingkat ngajalankeun kedah salah sahiji Ss12345, disebutkeun pamundut bakal jadi cicingeun teu dipalire.

telinit ogé bisa ngabejaan init sabaraha lila sakuduna antosan antara ngirim prosés nu SIGTERM na SIGKILL sinyal. Standar nyaeta 5 detik, tapi ieu bisa dirobah ku pilihan detik -t.

telinit bisa invoked ukur ku pamaké nu statusna luyu.

The cék binér init lamun éta init atanapi telinit ku nempo proses id na; nu init nyata 's prosés id téh salawasna 1. Ti ieu kitu kieu yén tinimbang nelepon telinit hiji ogé bisa ngan make init gantina sakumaha potong kompas.