Skip to main content

Εντολή inittab-Linux / Unix

10η Εντολή Σαιζόν 2 Επεισόδιο 3 "Σκοτεινή θάλασσα" (Ιούνιος 2026)

10η Εντολή Σαιζόν 2 Επεισόδιο 3 "Σκοτεινή θάλασσα" (Ιούνιος 2026)
Anonim

inittab - μορφή του αρχείου inittab που χρησιμοποιείται από τη διαδικασία init που είναι συμβατή με sysv

Περιγραφή

οinittab Το αρχείο περιγράφει τις διαδικασίες που ξεκινούν κατά την εκκίνηση και κατά τη διάρκεια της κανονικής λειτουργίας (π.χ. /etc/init.d/boot, /etc/init.d/rc, gettys …).Μέσα σε αυτό(8) διακρίνει πολλαπλάδρομολόγια, το καθένα από τα οποία μπορεί να έχει το δικό του σύνολο διαδικασιών που ξεκινούν. Ισχύουν τα επίπεδα εκτέλεσης0-6 συνΕΝΑ, σι, καιντο Γιακατα παραγγελια καταχωρήσεις. Μια καταχώρηση στοinittab Το αρχείο έχει την ακόλουθη μορφή:

id: runlevels: δράση: διαδικασία

Οι γραμμές που αρχίζουν με `# 'αγνοούνται.

ταυτότητα είναι μια μοναδική ακολουθία 1-4 χαρακτήρων που προσδιορίζει μια καταχώρηση σεinittab(για εκδόσεις του sysvinit που έχουν μεταγλωττιστεί με βιβλιοθήκες <5.2.18 ή a.out libraries το όριο είναι 2 χαρακτήρες).

Σημείωση: Για gettys ή άλλες διαδικασίες σύνδεσης, τοταυτότητα το πεδίο θα πρέπει να είναι το tty επίθεμα του αντίστοιχου tty, π.χ.1 Γιαtty1. Διαφορετικά, η λογιστική σύνδεσης μπορεί να μην λειτουργεί σωστά.

δρομολόγιαπαραθέτει τα επίπεδα εκτέλεσης για τα οποία θα πρέπει να ληφθεί η συγκεκριμένη ενέργεια.

δράσηπεριγράφει τις ενέργειες που πρέπει να αναληφθούν.

επεξεργάζομαι, διαδικασίακαθορίζει τη διαδικασία που πρέπει να εκτελεστεί. Αν το πεδίο διεργασίας ξεκινά με έναν χαρακτήρα `+ 'μέσα σε αυτόδεν θα κάνει utmp και wtmp λογιστική για τη διαδικασία αυτή. Αυτό είναι απαραίτητο για gettys που επιμένουν να κάνουν το δικό τους utmp / wtmp νοικοκυριό. Αυτό είναι επίσης ένα ιστορικό σφάλμα.

οδρομολόγια το πεδίο μπορεί να περιέχει πολλαπλούς χαρακτήρες για διαφορετικά επίπεδα εκτέλεσης. Για παράδειγμα,123 ορίζει ότι η διαδικασία πρέπει να ξεκινήσει σε επίπεδα εκτέλεσης 1, 2 και 3. Τοδρομολόγια Γιακατα παραγγελιαοι καταχωρήσεις μπορεί να περιέχουν έναΕΝΑ, σι, ήντο. οδρομολόγια πεδίο τουsysinit, μπότα, καιbootwait οι καταχωρήσεις αγνοούνται.

Όταν αλλάξει το επίπεδο εκτέλεσης του συστήματος, όλες οι διεργασίες που δεν έχουν καθοριστεί για το νέο επίπεδο εκτέλεσης θανατωθούν, πρώτα με το SIGTERM, στη συνέχεια με το SIGKILL.

Ισχύουσες ενέργειες για τοδράση τομέα είναι:

respawn

Η διαδικασία θα ξεκινήσει πάλι κάθε φορά που τερματίζεται (π.χ. getty).

Περιμένετε

Η διαδικασία θα ξεκινήσει μία φορά, όταν εισαχθεί το καθορισμένο επίπεδο εκτέλεσης καιμέσα σε αυτόθα περιμένει τον τερματισμό της.

μια φορά

Η διαδικασία θα εκτελεστεί μία φορά όταν εισαχθεί το καθορισμένο επίπεδο εκτέλεσης.

μπότα

Η διαδικασία θα εκτελεστεί κατά την εκκίνηση του συστήματος. ο δρομολόγια πεδίο αγνοείται.

bootwait

Η διαδικασία θα εκτελεστεί κατά την εκκίνηση του συστήματος, ενώμέσα σε αυτόπεριμένει τον τερματισμό του (π.χ. / etc / rc). ο δρομολόγια πεδίο αγνοείται.

μακριά από

Αυτό δεν κάνει τίποτα.

κατα παραγγελια

Μια διαδικασία που σημειώνεται με ένακατα παραγγελια runlevel θα εκτελεστεί όποτε καθορίζεταικατα παραγγελια runlevel ονομάζεται. Εντούτοις, δεν θα υπάρξει καμία αλλαγή στα επίπεδα εκτέλεσης (κατα παραγγελια τα επίπεδα εκτέλεσης είναι `a ',` b' και `c ').

initdefault

Εναinitdefault Η καταχώρηση καθορίζει το επίπεδο εκτέλεσης που πρέπει να εισαχθεί μετά την εκκίνηση του συστήματος. Εάν δεν υπάρχει καμία,μέσα σε αυτό θα ζητήσει ένα επίπεδο εκτέλεσης στην κονσόλα. ο επεξεργάζομαι, διαδικασία πεδίο αγνοείται.

sysinit

Η διαδικασία θα εκτελεστεί κατά την εκκίνηση του συστήματος. Θα εκτελεστεί πριν από οποιαδήποτεμπότα ήbootwait καταχωρήσεις. οδρομολόγια πεδίο αγνοείται.

powerwait

Η διαδικασία θα εκτελεστεί όταν η ισχύς πέσει κάτω. Το Init συνήθως ενημερώνεται για αυτό με μια διαδικασία που μιλάει σε ένα UPS συνδεδεμένο στον υπολογιστή.Μέσα σε αυτό θα περιμένει να τελειώσει η διαδικασία πριν συνεχίσετε.

powerfail

Οσον αφοράpowerwait, εκτός απόμέσα σε αυτό δεν περιμένει την ολοκλήρωση της διαδικασίας.

powerokwait

Αυτή η διαδικασία θα εκτελεστεί το συντομότερομέσα σε αυτό ενημερώνεται ότι η δύναμη έχει αποκατασταθεί.

powerfailnow

Αυτή η διαδικασία θα εκτελεστεί ότανμέσα σε αυτό λέγεται ότι η μπαταρία του εξωτερικού UPS είναι σχεδόν κενή και η τροφοδοσία τροφοδοτείται (υπό τον όρο ότι το εξωτερικό UPS και η διαδικασία παρακολούθησης είναι σε θέση να ανιχνεύσουν αυτή την κατάσταση).

ctrlaltdel

Η διαδικασία θα εκτελεστεί ότανμέσα σε αυτό λαμβάνει το σήμα SIGINT. Αυτό σημαίνει ότι κάποιος στην κονσόλα συστήματος έχει πατήσει το πλήκτροCTRL-ALT-DEL συνδυασμό πλήκτρων. Συνήθως κάποιος θέλει να εκτελέσει κάποιο είδοςΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ είτε για να μπείτε σε επίπεδο ενός χρήστη είτε για να επανεκκινήσετε το μηχάνημα.

kbrequest

Η διαδικασία θα εκτελεστεί ότανμέσα σε αυτό λαμβάνει ένα σήμα από το διαχειριστή πληκτρολογίου ότι ένας ειδικός συνδυασμός πλήκτρων έχει πατηθεί στο πληκτρολόγιο της κονσόλας.

Η τεκμηρίωση αυτής της λειτουργίας δεν έχει ολοκληρωθεί ακόμα. περισσότερη τεκμηρίωση μπορεί να βρεθεί στα πακέτα kbd-x.xx (το πιο πρόσφατο ήταν το kbd-0.94 τη στιγμή αυτού του γραψίματος). Βασικά θέλετε να χαρτογραφήσετε κάποιο συνδυασμό πληκτρολογίου στη δράση "KeyboardSignal". Για παράδειγμα, για να χαρτογραφήσετε το Alt-Uparrow για αυτό το σκοπό, χρησιμοποιήστε τα ακόλουθα στο αρχείο keymaps:

alt keycode 103 = ΠληκτρολόγιοSignal

ΠΑΡΑΔΕΙΓΜΑΤΑ

Αυτό είναι ένα παράδειγμα ενός inittab που μοιάζει με το παλιό inittab του Linux:

# inittab for linux id: 1: initdefault: rc :: bootwait: / etc / rc 1: 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: 1: respawn: etc / getty 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

Αυτό το αρχείο inittab εκτελείται/ etc / rc κατά την εκκίνηση και ξεκινά gettys στο tty1-tty4.

Ένα πιο περίπλοκοinittab με διαφορετικά επίπεδα εκτέλεσης (δείτε τα σχόλια μέσα):

# Επίπεδο για εκτέλεση σε id: 2: initdefault: # Αρχικοποίηση συστήματος πριν από οτιδήποτε άλλο. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 έχει σταματήσει και επανεκκίνηση, 1 είναι λειτουργία συντήρησης. l0: 0: wait: /etc/rc.d/rc.halt l1: 1: περιμένετε: /etc/rc.d/rc.single l2: 2345: wait: /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: respawn: / sbin / getty tty1 VC linux 2: 23: respawn: / sbin / getty tty2 VC linux 3: 23: respawn: / sbin / getty tty3 VC linux 4:23: respawn: / sbin / getty tty4 VC linux S2: 3: respawn: / sbin / uugetty ttyS2 M19200

Δείτε επίσης

μέσα σε αυτό(8), telinit(8)

Σπουδαίος: Χρησιμοποιήστε το άνδρας εντολή ( % άνδρας ) για να δείτε πώς χρησιμοποιείται μια εντολή στον υπολογιστή σας.