Provided by: manpages-pl_4.12.1-3_all bug

NAZWA

       init, telinit - sterowanie procesu inicjującego

SKŁADNIA

       /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx] [ 0123456Ss ]
       /sbin/init [ --version ]
       /sbin/telinit [ -t SEKUNDY ] [ 0123456sSQqabcUu ]
       /sbin/telinit [ -e ZMIENNA[=WARTOŚĆ] ]

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 istnienie 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 (inaczej  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 S, 0, 1, oraz 6  są  zarezerwowane.  Tryb  S  jest  używany  do  zainicjowania
       systemu,  podczas jego rozruchu. Gdy uruchamiany jest tryb pracy S (w czasie rozruchu) lub
       tryb pracy 1 (przełączanie się z trybu wielu użytkowników), system jest wprowadzany w tryb
       pracy  jednego użytkownika ("single-user mode"), po którym bieżącym poziomem pracy jest S.
       Tryb 0 jest używany, by zatrzymać system; tryb 6, by przeładować system (reboot).

       Po zakończeniu rozruchu w poziomie S, system jest  automatycznie  wprowadzany  w  jeden  z
       trybów  wielu  użytkowników,  od  2  do  5,  chyba  że wystąpił problem, który musi zostać
       naprawiony przez administratora, w trybie jednego użytkownika. Po przejściu w tryb jednego
       użytkownika administrator zwykle zajmuje się konserwacją, a następnie przeładowuje system.

       Aby  uzyskać  więcej  informacji na ten temat, proszę zapoznać się ze stronami podręcznika
       shutdown(8) i inittab(5).

       Tryby pracy 7-9 również są poprawne, choć  niezbyt  dobrze  udokumentowane.  Wynika  to  z
       faktu, że "tradycyjne" warianty Uniksa nie używają ich.

       Poziomy S i s są w rzeczywistości takie same.  Wewnętrznie są to tylko zastępcze nazwy dla
       tego samego trybu pracy.

ROZRUCH

       Po tym jak init jest wywołany w ostatnim kroku sekwencji rozruchowej  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 istnieje /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  zamontować 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

       After  it has spawned all of the processes specified, init waits for one of its descendant
       processes to die, a powerfail signal, or until it is signaled by  telinit  to  change  the
       system's  runlevel.   When  one  of  the above three conditions occurs, it re-examines the
       /etc/inittab file.  New entries can be added to this file  at  any  time.   However,  init
       still  waits  for  one  of  the  above  three  conditions  to  occur.   To  provide for an
       instantaneous response, the telinit Q or q command can wake up init to re-examine (reload)
       the /etc/inittab file.

       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.

       Usage of SIGPWR and /etc/powerstatus is discouraged. Someone wanting to interact with init
       should  use  the  /run/initctl  control  channel  -  see  the initctl manual page for more
       documentation about this.

       When init is requested to change the runlevel, it sends the warning signal SIGTERM to  all
       processes that are undefined in the new runlevel.  It then waits 3 seconds before forcibly
       terminating these processes via the SIGKILL signal.  Note that init assumes that all these
       processes  (and  their descendants) remain in the same process group which init originally
       created for them.  If any process changes  its  process  group  affiliation  it  will  not
       receive these signals.  Such processes need to be terminated separately.

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
              tell  init  to  re-execute  itself  (preserving  the  state).  No  re-examining  of
              /etc/inittab  file  happens.  Runlevel should be one of Ss0123456 otherwise request
              would be silently ignored.

       telinit can tell init how long it should wait between sending processes  the  SIGTERM  and
       SIGKILL signals.  The default is 3 seconds, but this can be changed with the -t option.

       telinit -e mówi procesowi init, aby zmienił środowisko procesów, które mnoży. Argumenty do
       -e mogą mieć postać ZMIENNA=WARTOŚĆ, która ustawia zmiennej ZMIENNA  wartość  WARTOŚĆ  lub
       postać ZMIENNA (bez znaku równości), która usuwa zmienną ZMIENNA.

       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   /bin:/usr/bin:/sbin:/usr/sbin

       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

       It is possible to pass a number of flags to init from the boot monitor (eg. LILO or GRUB).
       Init accepts the following flags:

       -s, S, single
            Rozruch  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żytkownika.

       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.

       --version
            This argument, when used on its own, displays the current  version  of  init  to  the
            console/stdout.  It  is  a  quick way to determine which init software and version is
            being used. After the version information is displayed, init immediately exits with a
            return code of zero.

INTERFEJS

       Init  listens  on  a  fifo  in  /dev,  /run/initctl,  for  messages.  Telinit uses this to
       communicate with init. The interface is  not  very  well  documented  or  finished.  Those
       interested  should  study  the  initreq.h file in the src/ subdirectory of the init source
       code tar archive.

SYGNAŁY

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

       SIGHUP
            Ma ten sam efekt co telinit q.

       SIGUSR1
            On receipt of this signals, init closes and re-opens its control fifo,  /run/initctl.
            Useful for bootscripts when /dev is remounted.

       SIGUSR2
            When  init  receives  SIGUSR2, init closes and leaves the control fifo, /run/initctl,
            closed. This may be used to make sure init is not holding open any files. However, it
            also  prevents  init  from switching runlevels. Which means commands like shutdown no
            longer work.  The fifo can be re-opened by sending init the SIGUSR1 signal.

       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 KeyboardSignal.  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
       /run/initctl

OSTRZEŻENIA

       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 jednego wiersza terminala.

       W systemie Debian, wejście w  poziom  pracy  1  powoduje  zabicie  wszystkich  procesów  z
       wyjątkiem  wątków  jądra  i  skryptu  który wykonuje zabijanie oraz innych procesów w jego
       sesji. W konsekwencji, powracanie z poziomu 1 do poziomu pracy  trybu  wielu  użytkowników
       nie  jest  bezpieczne:  demony,  które  zostały  uruchomione w poziomie S i są wymagane do
       normalnego działania  nie  są  dłużej  uruchomione.  System  powinien  zostać  uruchomiony
       ponownie.

DIAGNOSTYKA

       Jeśli  init  zorientuje się, że wciąż powtarza namnażanie zadanego procesu 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ę systemu, 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
       literówkę 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.informatik.rwth-aachen.de).

ZOBACZ TAKŻE

       getty(1),  login(1),  sh(1),  runlevel(8),  shutdown(8),  kill(1), initctl(5), inittab(5),
       initscript(5), utmp(5)

TŁUMACZENIE

       Autorami  polskiego   tłumaczenia   niniejszej   strony   podręcznika   są:   Paweł   Wilk
       <siefca@pl.qmail.org>,    Robert    Luberda    <robert@debian.org>    i    Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe  informacje  o  warunkach  licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub  nowszej.  Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy   w   tłumaczeniu   strony   podręcznika  prosimy  zgłaszać  na  adres  manpages-pl-
       list@lists.sourceforge.net ⟨⟩.

                                          29 lipca 2004                                   INIT(8)