Skip to main content

Inittab-Linux / פיקוד יוניקס

Introduction to Linux Runlevels (יוני 2026)

Introduction to Linux Runlevels (יוני 2026)
Anonim

inittab - פורמט הקובץ inittab המשמש את תהליך ה- sysv תואם

תיאור

הinitt קובץ מתאר אילו תהליכים מופעלים בעת אתחול ובמהלך פעולה רגילה (למשל /etc/init.d/boot, /etc/init.d/rc, gettys …).ראשית(8) מבחין מרוביםrunlevels, אשר כל אחד מהם יכול להיות קבוצה משלו של תהליכים אשר נכתבו. חוקי Runlevels הם0-6 ועודא, ב, וג ללפי דרישה רשומות. רשומה בinitt הקובץ כולל את הפורמט הבא:

id: runlevels: פעולה: תהליך

שורות שמתחילות ב- '#' אינן מתעלמות.

id הוא רצף ייחודי של 1-4 תווים המזהה כניסהinitt(עבור גירסאות של sysvinit הידור עם ספריות <5.2.18 או a.out ספריות הגבול הוא 2 תווים).

הערה: עבור gettys או תהליכי התחברות אחרים,id השדה צריך להיות הסיומת tty של tty המתאים, למשל.1 לtty1. אחרת, ייתכן שחשבונות הכניסה לא יפעלו כהלכה.

runlevelsמפרטת את runlevels שעבורם הפעולה שצוינה צריכה להילקח.

פעולהמתאר איזו פעולה יש לנקוט.

תהליךמציין את התהליך לביצוע. אם שדה התהליך מתחיל בתו '+',initלא יעשה utmp ו wtmp חשבונאות עבור תהליך זה. זה נחוץ עבור gettys כי מתעקשים לעשות משלהם utmp / wtmp housekeeping. זהו גם באג היסטורי.

הrunlevels שדה עשוי להכיל מספר תווים עבור runlevels שונים. לדוגמה,123 מציין כי התהליך צריך להיות מופעל ב runlevels 1, 2, ו 3.runlevels ללפי דרישהרשומות עשויות להכילא, ב, אוג. הrunlevels שדה שלsysinit, אתחול, וbootwait מתעלמים מהרשומות.

כאשר מערכת runlevel משתנה, כל התהליכים הפועלים שאינם מפורטים עבור runlevel החדש נהרגים, תחילה עם SIGTERM, ולאחר מכן עם SIGKILL.

פעולות חוקיות עבורפעולה שדה הם:

מחיר SONY

התהליך יופעל מחדש בכל פעם שהוא מסתיים (לדוגמה, getty).

חכה

התהליך יופעל פעם אחת כאשר מוזכר runlevel שצויןinitיחכה לסיומה.

פעם אחת

התהליך יבוצע פעם אחת עם הזנת runlevel שצוין.

אתחול

התהליך יבוצע במהלך אתחול המערכת. ה runlevels שדה מתעלם.

bootwait

התהליך יבוצע במהלך אתחול המערכת, בעודinitממתין לסיומה (למשל / etc / rc). ה runlevels שדה מתעלם.

כבוי

זה לא עושה כלום.

לפי דרישה

תהליך המסומן ב- aלפי דרישה runlevel יבוצע בכל פעם שצויןלפי דרישה Runlevel נקרא. עם זאת, לא יחול שינוי runlevel (לפי דרישה runlevels הם 'א', 'ב' ו 'ג').

initdefault

Aninitdefault ערך מציין את runlevel אשר צריך להיות נכנס לאחר אתחול המערכת. אם לא קיים,init יבקש runlevel על המסוף. ה תהליך שדה מתעלם.

sysinit

התהליך יבוצע במהלך אתחול המערכת. זה יבוצע לפני כלאתחול אוbootwait רשומות. הrunlevels שדה מתעלם.

כוח

התהליך יבוצע כאשר הכוח יירד. היוזמה מתעדכנת בדרך כלל על ידי תהליך המשוחח עם UPS המחובר למחשב.ראשית יחכה לסיום התהליך לפני שתמשיך.

כוח

בנוגע לכוח, חוץ מזה שinit אינו ממתין להשלמת התהליך.

כוח

תהליך זה יבוצע בהקדם האפשריinit הוא הודיע ​​כי הכוח שוחזר.

כוח

תהליך זה יבוצע כאשרinit הוא אמר כי הסוללה של UPS חיצוני הוא כמעט ריק הכוח הוא נכשל (בתנאי UPS חיצוני תהליך הניטור מסוגלים לזהות את המצב הזה).

ctrlaltdel

התהליך יבוצע כאשרinit מקבל את האות SIGINT. משמעות הדבר היא כי מישהו על קונסולת המערכת לחצה עלCTRL-ALT-DEL צירוף מקשים. בדרך כלל אתה רוצה לבצע איזהלכבות או להיכנס לרמת משתמש יחיד או לאתחל את המכונה.

kbrequest

התהליך יבוצע כאשרinit מקבל אות ממפעיל המקלדת, כי שילוב מקשים מיוחד נלחץ על לוח המקשים.

התיעוד של פונקציה זו אינו שלם עדיין; תיעוד נוסף ניתן למצוא את חבילות kbd-x.xx (האחרונה היתה kbd-0.94 בזמן כתיבת שורות אלה). בעיקרון אתה רוצה למפות כמה שילוב מקלדת לפעולה "KeyboardSignal". לדוגמה, כדי למפות Alt-Uparrow למטרה זו השתמש בקבצים הבאים בקובץ keymaps:

103 keySignal

דוגמאות

זוהי דוגמה של inittab אשר דומה לינוקס לינוקס הישן:

# inittab עבור id linux: 1: initdefault: rc :: bootwait: / etc / rc 1: 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: 1: respawn: / וכו '/ גטי 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

קובץ זה inittab מבצעת/ etc / rc במהלך האתחול ומתחיל gettys על tty1-tty4.

יותר משוכללinitt עם runlevels שונים (ראה את ההערות בפנים):

# רמה לפעול ב id: 2: initdefault: # אתחול המערכת לפני כל דבר אחר. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 הוא עצור ולאתחל, 1 הוא מצב תחזוקה. l0: 0: לחכות: /etc/rc.d/rc.halt l1: 1: לחכות: /etc/rc.d/rc.single l2: 2345: המתן: /etc/rc.d/rc.multi l6: 6: המתן: /etc/rc.d/rc.reboot # מה לעשות ב "3 אצבע הצדעה". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf עכשיו # Runlevel 2 & 3: getty על קונסולת, רמה 3 גם getty על יציאת המודם. 1: 23: resawn: / sbin / getty tty1 VC לינוקס 2: 23: respawn: / sbin / getty tty2 VC לינוקס 3: 23: respawn: / sbin / getty tty3 VC לינוקס 4: 23: respawn: / sbin / getty tty4 VC לינוקס S2: 3: respawn: / sbin / utyty ttys2 M19200

ראה גם

init(8), טלניט(8)

חשוב: להשתמש ב איש פקודה ( % איש ) כדי לראות כיצד נעשה שימוש בפקודה במחשב הספציפי שלך.