በ Linux ውስጥ የ Init Command እንዴት እንደሚጠቀሙ

Init የሁሉም ሂደቶች ወላጅ ነው. ቀዳሚው ሚናው ፋይሉ / etc / inittab ውስጥ የተከማቸ ስክሪፕት ሂደቶችን መፍጠር ነው ( ኢቲታብ (5) ይመልከቱ). ይህ ፋይል በአብዛኛው በእያንዳንዱ መስመር ውስጥ በእያንዳንዱ መስመር ላይ የሚፈጥሩ ጌቲዎችን ያስወልቁ ግቤቶች ያሉት ሲሆን በየትኛውም የተለየ ስርዓት የሚያስፈልጉትን የራስ-ሰር ሂደቶችን ይቆጣጠራል.

ሩጫዎች

A ውድሌቭ የተመረጠው የሂደት ቡድን ብቻ ​​እንዲኖር የሚፈቅድ የስርዓት ሶፍትዌር መዋቅር ነው. ለእያንዳንዱ የእነዚህ የሂሳብ ዝርዝሮች በኩዌቱ የሚፈጠረው ሂደቶች በ / etc / inittab ፋይል ውስጥ ተተርጉመዋል. ኢንት ውስጥ 8 የስሌጠና ዘዳዎች በአንዱ ሊዯረግ ይችሊሌ- 0-6 እና S ወይም s . የተካሔደው ደረጃ (ሂደቱ) መለዋወጥ ማለት በየትኛው የሂደቱን ደረጃ ለመለወጥ አግባብነት ያለው ምልክት ለላኪታይተስ ተጠቃሚ ሲጠቀም ይቀየራል .

ሩጫዎች 0 , 1 እና 6 የተያዙ ናቸው. Runlevel 0 ስርዓቱን ለማቆም ጥቅም ላይ ይውላል, runlevel 6 ስርዓቱን እንደገና ለመጫን ያገለግላል, እና runlevel 1 ስርዓቱን ወደ የአንድ ተጠቃሚ ሁነታ ለመገልበጥ ጥቅም ላይ ይውላል. Runlevel S በቀጥታ ጥቅም ላይ የሚውል አይደለም, ነገር ግን ወደ ደረጃ 1 ደረጃ በሚገቡበት ጊዜ የሚፈጸሙ ስክሪፕቶች የበለጠ. 1. ለበለጠ መረጃ, ለመዝጋት (8) እና inittab (5) ገፆችን ይመልከቱ.

የተራ አጫሪዎቹ 7-9 በትክክል ይሰራሉ, ምንም እንኳን በደንብ ባይታወቁም. ምክንያቱም "ባህላዊ" ዩኒየስ ልዩነቶች አይጠቀሙባቸውም. ምንም እንኳን የማወቅ ጉጉት ቢኖረን, የሂሳብ S እና s በትክክል ተመሳሳይ ናቸው. ውስጣዊ ሂደታቸው ተመሳሳይ ደረጃዎች ናቸው.

መነሳት

ከርነኛው ቡት ማስነሻ ቅደም ተከተል የመጨረሻው ደረጃ በኋላ ተጠርቶ እያለ, init / open / init / faq / init / fault / ኢንቲት / () ን ለማግኘት አለመጣጣሙን ለማየት ( inatonab (5) ይመልከቱ). የ initdefault መግቢያው የስርዓቱ የመጀመሪያ የሂደቱን ደረጃ ይወስናል. እንደዚህ አይነት ግቤት ከሌለው (ወይም እውን / etc / inittab / የለም) አንድ የክዋኔ ሂደት በሲስተም መቆጣጠሪያ ውስጥ መግባት አለበት.

Runlevel S ወይም s ስርዓቱን ወደ ነጠላ የተጠቃሚ ሁነታ ያመጣል እና / etc / inittab ፋይል አያስፈልግም. በአንዲት የተጠቃሚ ሁነታ, የስር መሰረዝ በ / dev / console ላይ ተከፍቷል.

የአንድ ተጠቃሚ ሁነታ ሲያስገቡ, init የሚለውን የኮምፒተርዎ ioctl (2) states ከ /etc/ioctl.ave ላይ ያነባል . ይህ ፋይል ከሌለ, init9600 baud እና በ CLOCAL ቅንብሮች መስመሩን ይጀምራል . ሰርቨሩ የነጠላ ተጠቃሚ ሁነታ ሲወጣ, በዚህ ፋይል ውስጥ የኮንሶል ዊዮትክ ቅንብሮችን በማከማቸት ለቀጣዩ ነጠላ ተጠቃሚ ክፍለ-ጊዜ ዳግም ሊጠቀምባቸው ይችላል.

የሁለብዙ ተጠቃሚ ሁነታ ለመጀመሪያ ጊዜ ሲገቡ, ቡት (boot) እና የመነሻ ገጹ (ዊንዶውስ) ግቤቶች (ተጠቃሚዎች) ከመግባታቸው በፊት የፋይል ስርዓቶች ተዘርዘዋል.

አዲስ ሂደት ሲጀምሩ, ፋይሉ / etc / initscript ያለ መሆኑን ለመጀመሪያ ጊዜ ይፈትሻል. ይህ ከሆነ ሂደቱን ለመጀመር ይህን ስክሪፕት ይጠቀማል.

አንድ ህጻን በሚቋረጥበት ጊዜ ሁሉ እነዚህ ፋይሎች መኖሩን ለማረጋገጥ/ var / run / utmp እና / var / log / wtmp ውስጥ የሞተውን እውነታ እና ምክንያቱን መዝግቦ ይይዛል.

የሂደቱን ደረጃ መለወጥ

የተዘረዘሩት ሂደቶች ሁሉ ካመጡት በኋላ, መጀመሪያ ከእሱ የዘር እሴት ሂደቱ አንዱን ይገድባል, የኃይል መለኪያ ምልክት, ወይም የስርዓቱን የሂደቱን ደረጃ ለመለወጥ በቴሌንቲት በኩል ምልክት እስኪያደርግ ድረስ. ከላይ ከተጠቀሱት ሦስት ሁኔታዎች አንዱ ሲከሰት / etc / inittab ፋይሉን እንደገና ይመረምራል. አዲስ ግቤቶች በማንኛውም ጊዜ ወደዚህ ፋይል ሊታከሉ ይችላሉ. ሆኖም ግን, መነሻው ከሚከተሉት ሶስት ሁኔታዎች ውስጥ አንዱን ይጠብቃል. ፈጣን ምላሽ ለመስጠት የሴልቲን Q ወይም q ትዕዛዝ የ init / etc / inittab ፋይልን እንደገና መመርመር ይችላል.

ቅጽ init ውስጥ ካልሆነ እና የኃይል ፍርግም ምልክት (SIGPWR) ካልደረሰ, ፋይል / etc / powerstatus ያነበባል. ከዚያም በዚህ ፋይል ይዘት ላይ የተመሰረተ ትዕዛዝ ይጀምራል:

F (AIL)

ኃይል አለመውደቅ, ዩፒኤስ ኃይሉን እያቀረበ ነው. የኃይል ፍቃዱን እና የኃይል መስሪያ ግቤቶችን ያስፈጽሙ .

ኦ (ኬ)

ኃይሉ ተመልሷል, የኃይል ሹክቶች ግቤቶችን ያስፈጽማል.

ኤል (ኦው)

ኃይሉ ጠፍቷል እና ዩፒኤስ አነስተኛ ባትሪ አለው. የሃይልፎርጉን ግቤቶችን ያስፈጽሙ .

ካለ / etc / powerstatus ካልሆነ ወይም ሌላ ምንም ነገር ከሌለው < F , O ወይም L> init> ፊደል < F> ን እንደ ተነበበ ይቆርጠዋል.

SIGPWR እና / etc / powerstatus አጠቃቀም ተስፋ ቆርጠዋል. ማመስጠር የሚፈልግ ሰው የ / dev / initctl መቆጣጠሪያ ሰርጥን መጠቀም አለበት - ስለዚሁ ተጨማሪ መረጃ ለማግኘት የ sysvinit ጥቅልን ምንጭ ሶርስን ይመልከቱ.

ክዋኔው ፍሰት ደረጃውን እንዲለውጥ ሲጠየቅ የአስጠንቀቂያ ምልክት SIGTERM በአዲሱ የሂደት ፍልሰት ያልተለቀቀ ለሁሉም ሂደቶች ይልካል. ከዚያም እነዚህን ሂደቶች በ SIGKILL ምልክት በመጠቀም በኃይል ማቆም 5 ሴኮንድ ይጠብቃል. ይህ አሠራር ሁሉም እነዚህ ሂደቶች (እና ዘሮቻቸው) በእነሱ ውስጥ በመጀመሪያ ለእነሱ ለተፈጠረ ተመሳሳይ ሂደት ውስጥ እንደቀሩ ልብ ይበሉ. ማንኛውም ሂደት የሂደቱን የቡድኑን ትስስር ከቀየረ እነዚህን ምልክቶች አይቀበሉም. እነዚህ ሂደቶች በተናጠል መቋረጥ አለባቸው.

Telinit

/ sbin / telinit/ sbin / init ጋር ተገናኝቷል. አንድ-ቁምፊ ነጋሪ እሴት እና ተገቢውን እርምጃ እንዲፈጅ ምልክት ያስፈልገዋል. የሚከተሉት ክርክሮች ለቴሊኒት መመሪያ ሆነው ያገለግላሉ-

0 , 1 , 2 , 3 , 4 , 5 ወይም 6

ወደተገለጸው የፍጥነት ደረጃ ለመቀየር ይንገሩ.

a , b , c

ኢንችት / ሂደቱን / etc / inittab ፋይሎችን ብቻ ሂደቱን a , b ወይም c አግኝተዋል .

ጥ Q ወይም q

ጅማሬውን / etc / inittab ፋይሉን እንደገና እንዲፈትሹ ይንገሩ.

S ወይም s

ወደ ነጠላ የተጠቃሚ ሁነታ ለመቀየር ንገረው.

ወይ

አሪፍ እራሱን እንደገና እንዲሠራ (ለዋስትና መጠበቅ) ንገረው. በ / etc / inittab ፋይል ዳግመኛ መመርመር አይቻልም. የማደራጃ ደረጃ ከ SS12345 አንዱ መሆን አለበት, አለበለዚያ ጥያቄው በዝምታ ችላ ይባላል.

telinit የ SIGTERM እና SIGKILL ምልክቶችን በመላክ ምን ያህል ጊዜ መጠበቅ እንዳለበት ይነግረዋል. ነባሪው 5 ሰከንዶች ነው, ነገር ግን ይሄ በ-sec መምረጫው ሊቀየር ይችላል.

ቴሊን (መለዋወጥ) በተገቢው ተጠቃሚነት ብቻ ሊሰጥ ይችላል.

የመጀመሪያው ሁለትዮሽ የሂደቱን መታወቂያ በመመልከት init ወይም telinit መሆኑን ያረጋግጣል ; ትክክለኛው የአሰራር ሂደት መታወቂያ ሁልጊዜ 1 ነው . ከዚህ ቀጥሎ ቴሊኒን ከመደወል ይልቅ እንደ አጫጫን ፋንታ አዶን መጠቀም ይችላሉ.