Linux.pl
Opcje wyszukiwania podręcznika man:
Lista stron man zaczynających się od znaku:
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   ALPHA   NUM   OTHER   ALL
INIT(8)             Podręcznik administratora systemu Linux            INIT(8)

NAZWA
       init, telinit - sterowanie procesu inicjującego

SKŁADNIA
       /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ]
       /sbin/telinit [ -t sekundy ] [ 0123456sSQqabcUu ]

OPIS
   Init
       Init  jest  przodkiem  wszystkich  procesów. Jego głównym zadaniem jest
       stworzenie procesów w oparciu o skrypt zapisany  w  pliku  /etc/inittab
       (patrz  też  inittab(5)).  Ten  plik zawiera zwykle pozycje, które każą
       procesowi init pomnażać getty na każdej  linii,  na  które  użytkownicy
       mogą się zalogować. Kontroluje też samodzielne procesy, których istnie-
       nie jest konieczne w danym systemie.

POZIOMY PRACY
       Runlevel (poziom pracy) jest to  konfiguracja  oprogramowania  systemu,
       która  pozwala  zaistnieć  tylko  wytypowanym  grupom procesów. Procesy
       tworzone przez init dla każdego z tych poziomów są zdefiniowane w pliku
       /etc/inittab.  Init  może  być w jednym z ośmiu poziomów pracy: 0-6 i S
       lub s. Poziom pracy jest zmieniany  przez  uruchomienie  telinit  przez
       uprzywilejowanego  użytkownika.   telinit wysyła odpowiednie sygnały do
       init, mówiące, w jaki tryb ma przejść.

       Tryby pracy 0, 1, oraz 6 są zarezerwowane.  Tryb  0  jest  używany,  by
       zatrzymać  system, tryb 6, by przeładować system (reboot), a tryb 1, by
       wprowadzić system w tryb pracy jednego użytkownika (single-user  mode).
       Tryb  S  nie  jest  pomyślany dokładnie tak, by go używać bezpośrednio,
       lecz raczej dla skryptów wykonywanych przy wchodzeniu  w  tryb  1.  Aby
       uzyskać  więcej  informacji na ten temat, zobacz strony podręcznika dla
       shutdown(8) i inittab(5).

       Tryby pracy 7-9 też są poprawne,  choć  niezbyt  udokumentowane.  To  z
       powodu  "tradycyjnych"  wariantów  Uniksa  nie  używających ich.  Jeśli
       jesteś ciekaw, to wiedz, że poziomy S i s  są  w  rzeczywistości  takie
       same.  Wewnętrznie są to tylko zastępcze nazwy dla takich samych trybów
       pracy.

BOOTOWANIE
       Po tym jak init jest wywołany w  ostatnim  kroku  sekwencji  bootującej
       jądra,  szuka  pliku  /etc/inittab  w  celu znalezienia w nim pola typu
       initdefault (patrz też inittab(5)). Pole initdefault określa początkowy
       poziom pracy systemu. Jeśli nie ma tam takiego pola (lub wcale nie ist-
       nieje /etc/inittab), poziom pracy musi być podany z konsoli systemowej.

       Poziom S lub s wprowadza system w tryb jednego użytkownika i nie wymaga
       pliku /etc/initttab. W  trybie  jednego  użytkownika,  wywoływany  jest
       /sbin/sulogin na urządzeniu /dev/console.

       Podczas  wchodzenia  w  tryb  jednego użytkownika, proces init inicjuje
       ustawienia stty konsoli na bezpieczne  wartości.  Ustawiany  jest  tryb
       clocal. Prędkość sprzętu i handshaking nie są zmieniane.

       Podczas  wchodzenia  w  tryb  wielu  użytkowników po raz pierwszy, init
       wykonuje pozycje boot i bootwait, by pozwolić  systemom  plików  zamon-
       tować  się zanim użytkownicy będą mogli się zalogować. Potem wykonywane
       są wszystkie pozycje przypisane danemu poziomowi pracy.

       Kiedy nowy proces startuje, init sprawdza najpierw, czy  istnieje  plik
       /etc/initscript. Jeśli tak, używa tego skryptu by ten proces zacząć.

       Za  każdym razem, gdy proces potomny się zakończy, init zapamiętuje ten
       fakt  i  powód  śmierci  procesu  jest  zapisany  w   /var/run/utmp   i
       /var/log/wtmp, pod warunkiem, że te pliki istnieją.

ZMIENIANIE TRYBÓW PRACY
       Po  tym jak "namnożone" zostaną wszystkie wyszczególnione procesy, init
       czeka na śmierć każdego swojego procesu potomnego, sygnał braku energii
       lub  zasygnalizowanie  przez  telinit zmiany poziomu działania systemu.
       Gdy wystąpi jeden spośród tych  trzech  warunków,  ponownie  sprawdzany
       jest  plik  /etc/inittab, ponieważ nowe pola mogą być do niego dodane w
       każdej chwili. Jednakowoż, init wciąż oczekuje na wystąpienie jednego z
       tych  trzech  warunków. By przygotować się na natychmiastową odpowiedź,
       telinit Q albo użyta komenda q może obudzić proces init, by jeszcze raz
       przeczytał plik /etc/inittab.

       Jeśli  init  nie  jest  w  trybie  jednego użytkownika i odbiera sygnał
       zaniku  energii  (SIGPWR),  czyta  plik   /etc/powerstatus.   Następnie
       uruchamia polecenie zależne od zawartości tego pliku:

       F(AIL) Zawodzi  zasilanie, UPS dostarcza mocy. Wykonuje wpisy powerwait
              i powerfail.

       O(K)   Zasilanie powróciło, uruchamia wpisy powerokwait.

       L(OW)  Zasilanie zawodzi, a UPS-owi wyczerpuje  się  bateria.  Wykonuje
              wpisy powerfailnow.

       Jeżeli  plik /etc/powerstatus nie istnieje lub zawiera cokolwiek innego
       niż jedną z liter F, O lub L, init zachowa się tak, jakby przeczytał F.

       Używanie  SIGPWR i /etc/powerstatus nie jest zalecane. Jeżeli ktoś chce
       współdziałać z init-em, powinien użyć kanału  kontroli  /dev/initctl  -
       proszę  przeczytać kod źródłowy pakietu sysvinit po więcej dokumentacji
       dotyczącej tego kanału.

       Gdy init jest  proszony  o  zmianę  poziomu  działania,  wysyła  sygnał
       ostrzegawczy  SIGTERM do wszystkich procesów, które nie są zdefiniowane
       w nowym poziomie pracy. Potem czeka 5 sekund zanim "na  siłę"  zakończy
       te  procesy poprzez sygnał SIGKILL.  Zauważ, że init zakłada, że wszys-
       tkie te procesy (i ich potomki) pozostają w tej samej grupie  procesów,
       którą  init  oryginalnie im utworzył. Jeżeli jakikolwiek proces zmienił
       swą przynależność do grupy procesów to nie odbierze tych sygnałów. Tego
       typu  procesy  muszą być kończone osobno (np. demony wszelakie - przyp.
       tłum.).

TELINIT
       /sbin/telinit jest symbolicznym dowiązaniem do /sbin/init.  Pobiera  on
       jednoznakowy  argument  i  sygnały  init, by podjął stosowne działanie.
       Poniższe argumenty można stosować jako rozkazy dla telinit:

       0,1,2,3,4,5 lub 6
              mówią  procesowi  init  by  przełączył   w   odpowiedni   poziom
              działania.

       a,b,c  każą   procesowi   init  by  przetwarzał  tylko  te  pola  pliku
              /etc/inittab, które odnoszą się do poziomu pracy a,b lub c.

       Q lub q
              każą procesowi init jeszcze raz przeczytać plik /etc/inittab.

       S lub s
              mówią żeby init przełączył w tryb jednego użytkownika.

       U lub u
              każą procesowi init przeładować się  (zachowując  obecny  stan).
              Nie  występuje  ponowne  odczytywanie pliku /etc/inittab. Poziom
              pracy powinien być ustawiony na Ss12345,  w  przeciwnym  wypadku
              żądanie może być "delikatnie" zignorowane.

       telinit  może  także  powiedzieć  procesowi init, jak długo powinien on
       czekać między wysyłaniem sygnałów SIGTERM i SIGKILL. Domyślną wartością
       jest 5 sekund, ale może być ona zmieniona za pomocą opcji -t sekundy.

       telinit może być wywoływany tylko przez użytkowników uprzywilejowanych.

       Wywołany init sprawdza czy jest procesem inicjującym init czy też  jest
       wywołany  jako  telinit  poprzez  wgląd  w  swój identyfikator procesu;
       prawdziwy identyfikator procesu init ma zawsze wartość  1.   Teraz  już
       wiadomo, że zamiast wywoływać telinit możesz też po prostu użyć init, a
       nie skrótu.

ŚRODOWISKO
       Init ustawia następujące zmienne  środowiskowe  dla  wszystkich  swoich
       dzieci:

       PATH   /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin

       INIT_VERSION
              Jak  mówi  nazwa  -  wersja  programu. Użyteczne dla określenia,
              jeśli skrypt uruchamia się bezpośrednio z init.

       RUNLEVEL
              Obecny poziom pracy systemu.

       PREVLEVEL
              Poprzedni poziom pracy systemu (użyteczne po zmianie  poziomów).

       CONSOLE
              Konsola  systemu.  Tak  naprawdę  ta wartość jest przyjmowana od
              jądra; jednak jeśli nie jest ustawiona init ustawi ją  domyślnie
              na /dev/console.

FLAGI STARTOWE
       Jest  możliwe by przekazać pewne flagi do procesu init z monitora star-
       towego (np. LILO). Init dopuszcza stosowanie następujących flag:

       S, single
            Bootowanie w trybie jednego użytkownika. W tym trybie /etc/inittab
            jest  sprawdzany  (wczytywany)  i  skrypty  startowe  rc są zwykle
            uruchamiane zanim wystartuje powłoka dla trybu  jednego  użytkown-
            ika.

       1-5  Poziom działania w jakim system ma wystartować.

       -b, emergency
            Wejście  bezpośrednio  w tryb jednego użytkownika bez uruchamiania
            żadnych innych skryptów startowych.

       -a, auto
            Program ładujący LILO dodaje słowo "auto" do linii poleceń, jeżeli
            uruchomił  jądro  z  domyślną  linią  poleceń  (użytkownik jej nie
            zmieniał).   Jeżeli  init  znajdzie  to  słowo,   ustawi   zmienną
            środowiskową  "AUTOBOOT"  na  "yes". Proszę zauważyć, że nie można
            tego użyć jako środka bezpieczeństwa - oczywiści  użytkownik  mógł
            ręcznie w linii poleceń wpisać "auto" użyć opcji -a.

       -z xxx
            Argument  opcji  -z  jest ignorowany. Może być użyta do wydłużenia
            linii poleceń, tak żeby zajmowała więcej miejsca na  stosie.  Init
            może  wtedy  manipulować  linią poleceń, tak żeby ps(1) pokazywało
            bieżący tryb uruchomienia.

INTERFEJS
       Init nasłuchuje wiadomości na łączu fifo w /dev, /dev/initctl.  Telinit
       używa  tego do komunikacji z procesem init. Ten interfejs nie jest zbyt
       dobrze udokumentowany czy skończony.  Zainteresowani  powinni  przestu-
       diować  plik  initreq.h  w  podkatalogu  src/ archiwum tarowego z kodem
       źródłowym init.

SYGNAŁY
       Init reaguje na następujące sygnały:

       SIGHUP
            Ma ten sam efekt co telinit q.

       SIGUSR1
            Po odebraniu tego sygnału, init zamyka i  ponownie  otwiera  swoją
            kontrolkę fifo, /dev/initctl. Użyteczne w przypadku skryptów star-
            towych, gdy przemontowywany jest katalog /dev.

       SIGINT
            Zwykle  ten  sygnał  jest  wysyłany  z  jądra  by  powiedzieć,  że
            wciśnięta  została  kombinacja  klawiszy CTRL-ALT-DEL. Powoduje to
            rozpoczęcie akcji ctrlaltdel.

       SIGWINCH
            Jądro wysyła  ten  sygnał  jeśli  wciśnięty  został  klawisz  Key-
            boardSignal.  Aktywuje to akcję kbrequest.

ZGODNE Z
       Init  jest  kompatybilny  z  init  obecnym  System  V.  Działa razem ze
       skryptami  w  katalogach  /etc/init.d  i   /etc/rc{poziom_działania}.d.
       Jeśli  twój  system  używa  tej  konwencji, to powinien być obecny plik
       README w katalogu /etc/init.d wyjaśniający, jak te skrypty działają.

PLIKI
       /etc/inittab
       /etc/initscript
       /dev/console
       /var/run/utmp
       /var/log/wtmp
       /dev/initctl

UWAGI
       Init zakłada, że procesy i ich procesy potomne pozostają  w  tej  samej
       grupie  procesów,  która  była  dla  nich oryginalnie stworzona. Jeżeli
       jakikolwiek proces zmienił swą przynależność do  grupy  procesów,  init
       nie  może  ich zabić i może skończyć się na tym, że zostaną dwa procesy
       czytające z jednej linii terminala.

DIAGNOSTYKA
       Jeśli init zorientuje się, że wciąż powtarza namnażanie  zadanego  pro-
       cesu  częściej  niż  10 razy w ciągu 2 minut, wtedy założy, że gdzieś w
       wywołaniu komendy jest błąd, wyśle wiadomość o błędzie na konsolę  sys-
       temu,  i  przerwie  pomnażanie danego pola do upłynięcia 5 minut lub do
       odebrania sygnału. Zapobiega to "zjadaniu"  zasobów  systemu  gdy  ktoś
       popełni  błąd  typograficzny (bardziej po naszemu: "literówkę" - przyp.
       tłum.) w pliku /etc/inittab lub gdy program normalnie  uruchamiany  dla
       danego wpisu jest usunięty.

AUTOR
       Miquel  van  Smoorenburg  (miquels@cistron.nl),  pierwszą wersję strony
       podręcznika     napisał     Michael     Haardt     (u31b3hs@pool.infor-
       matik.rwth-aachen.de).

PATRZ TAKŻE
       getty(1),  login(1),  sh(1),  runlevel(8),  shutdown(8), kill(1), init-
       tab(5), initscript(5), utmp(5)

                                 19 lipca 2004                         INIT(8)

Time taken: 0.00044 seconds


Created with the man page lookup class by Andrew Collington, php@amnuts.com