Provided by: manpages-fr-extra_20111118_all bug

NOM

       init, telinit - Initialisation du contrôle des processus

SYNOPSIS

       /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ]
       /sbin/telinit [ -t SECONDES ] [ 0123456sSQqabcUu ]
       /sbin/telinit [ -e VAR[=VAL] ]

DESCRIPTION

   Init
       init  est le parent de tous les processus. Son rôle principal est de créer des processus à
       partir d'un script  stocké  dans  /etc/inittab  (voir  inittab(5)).  Ce  fichier  comporte
       généralement  des  entrées  qui  force  init à lancer des getty sur chacune des lignes sur
       lesquelles des utilisateurs peuvent se connecter.  Il  contrôle  également  des  processus
       autonomes nécessaire pour chaque système particulier.

NIVEAUX D'EXÉCUTION

       Un  niveau  d'exécution est une configuration logicielle du système qui permet à seulement
       un certain groupe de processus d'exister. Les processus lancés par init pour chacun de ces
       niveaux  d'exécution sont définis dans le fichier /etc/inittab. init peut être dans un des
       huit niveaux d'exécution : 0–6 et S (alias s). Le niveau d'exécution peut être modifié par
       un  superutilisateur  en  exécutant telinit, qui envoie les signaux appropriés à init, lui
       indiquant dans quel niveau d'exécution se placer.

       Les niveaux d'exécution S, 0, 1 et 6 sont réservés. Le niveau d'exécution  S  est  utilisé
       pour  initialiser  le  système au démarrage. Lors du lancement du niveau d'exécution S (au
       démarrage) ou 1 (depuis un niveau d'exécution multiutilisateur), le système entre dans  le
       « mode mono-utilisateur », après lequel le niveau d'exécution est S. Le niveau d'exécution
       0 est utilisé pour arrêter le système ; le niveau d'exécution 6  sert  au  redémarrage  du
       système.

       Après avoir démarré dans le niveau S, le système entre automatiquement dans un des niveaux
       multiutilisateurs 2 à 5, à moins  qu'il  n'y  ait  eu  des  problèmes  qui  nécessite  une
       correction  de  la  part  d'un administrateur en mode mono-utilisateur. Normalement, après
       être entrée dans le mode mono-utilisateur, un administrateur effectue la maintenance  puis
       redémarre le système.

       Pour plus d'informations, voir les pages de manuel de shutdown(8) et inittab(5).

       Les  niveaux  d'exécution  7  à 9 sont également valables, mais pas vraiment documenté. La
       raison pour cela est que les Unix « traditionnels » ne les utilisent pas.

       Les niveaux d'exécution S et s sont équivalents. Ils sont considérés en interne comme  des
       alias vers les même niveaux.

DÉMARRAGE

       Après qu'init ait été appelé comme dernière étape de la séquence de démarrage du noyau, il
       regarde dans la fichier /etc/inittab pour voir s'il y a une  entrée  du  type  initdefault
       (voir  inittab(5)).  L'entrée  initdefault  détermine  le  niveau  d'exécution  initial du
       système. S'il n'y a pas de telle entrée (ou  pas  de  /etc/inittab  du  tout),  un  niveau
       d'exécution doit être entré sur la console système.

       Les  niveaux  d'exécution  S  ou  s initialisent le système et ne nécessite pas de fichier
       /etc/inittab.

       Dans le mode mono-utilisateur, /sbin/sulogin est invoqué sur /dev/console.

       Quand il entre dans le mode mono-utilisateur, init initialise les paramètres des  consoles
       stty  à des valeurs saines. Le mode clocal est configuré. La vitesse matérielle et le mode
       d'établissement d'une liaison ne sont pas changés.

       Quand il entre dans un mode multi-utilisateurs pour la première  fois,  init  exécute  les
       entrées boot et bootwait pour permettre aux systèmes de fichier de se monter avant que les
       utilisateurs puissent se connecter. Ensuite, toutes les entrées  correspondant  au  niveau
       d'exécution sont exécutées.

       Lorsqu'il démarre un nouveau processus, init vérifie d'abord si le fichier /etc/initscript
       existe. S'il existe, il utilise ce fichier pour démarrer le processus.

       Chaque fois qu'un fils se termine, init enregistre ceci et la raison pour laquelle il  est
       mort dans /var/run/utmp et /var/log/wtmp, si ces fichiers existent.

CHANGEMENT DE NIVEAU D'EXÉCUTION

       Après qu'il ait exécuté tous les processus spécifiés, init attend qu'un de ses fils meurt,
       qu'un signal indiquant une perte de puissance  arrive  ou  qu'un  signal  de  telinit  lui
       indique  qu'il  faut  changer  le  niveau  d'exécution  du système. Quand une de ces trois
       conditions se produit, il réexamine le fichier /etc/inittab. De nouvelle  entrées  peuvent
       être  ajoutées  à ce fichier à n'importe quel moment. Cependant, init attend qu'une de ces
       condition se produise. Pour que le fichier soit pris en compte immédiatement, la  commande
       telinit Q ou q permet de réveiller init pour qu'il réexamine le fichier /etc/inittab.

       Si init n'est pas dans le mode mono-utilisateur et reçoit un signal indiquant une perte de
       puissance (SIGPWR), il lit le fichier /etc/powerstatus. Il démarre ensuite une commande en
       fonction du contenu de ce fichier :

       F(AIL) (échec)
              Plus  d'alimentation, l'UPS fournit la puissance. Exécuter les entrées powerwait et
              powerfail.

       O(K)   L'alimentation a été rétablie, exécuter les entrées powerokwait.

       L(OW) (bas)
              Plus d'alimentation et le niveau de la batterie de l'UPS est faible.  Exécuter  les
              entrées powerfailnow.

       Si  le  fichier /etc/powerstatus n'existe pas ou contient autre chose que les lettres F, O
       ou L, init se comportera comme si la lettre F y avait été lu.

       L'utilisation de SIGPWR et de /etc/powerstatus n'est pas conseillé.  Pour  interagir  avec
       init  il  est  préférable d'utiliser le canal de contrôle /dev/initctl ; consultez le code
       source de sysvinit pour plus de documentation à ce sujet.

       Quand  on  demande  à  init  de  changer  de  niveau  d'exécution,  il  envoi  le   signal
       d'avertissement  SIGTERM  à  tous  les  processus  qui ne sont pas définis dans le nouveau
       niveau d'exécution. Il attend ensuite 5 secondes avant de forcer l'arrêt de ces  processus
       avec  le  signal  -1SIGKILL . Notez que init suppose que tous ces processus (et leur fils)
       restent dans le même groupe de processus que init a créé pour eux. Si un processus  change
       son  affiliation  à  un  groupe de processus, il ne recevra pas ces signaux. Ces processus
       doivent être arrêté séparément.

TELINIT

       /sbin/telinit est un lien vers /bin/init. Il prend un paramètre d'un caractère et  signale
       à  init  d'effectuer  l'action  appropriée. Les paramètres suivants servent de directive à
       telinit :

       0,1,2,3,4,5 ou 6
              Demander à init de passer au niveau d'exécution spécifié.

       a,b,c  Demander à init de ne traiter que les entrées du  fichier  /etc/inittab  du  niveau
              d'exécution a, b ou c.

       Q ou q Demander à init de réexaminer le fichier /etc/inittab.

       S ou s Demander à init de passer en mode mono-utilisateur

       U ou u Demander  à  init  de  se  relancer  lui-même  (en préservant son état). Le fichier
              /etc/inittab n'est pas réexaminé. Le niveau d'exécution doit être  un  des  niveaux
              Ss0123456, sinon la requête est ignorée silencieusement.

       telinit  peut  demander  à  init  combien  de  temps il devrait attendre entre l'envoi des
       signaux SIGTERM et SIGKILL aux processus. La valeur par défaut est  de  5  secondes,  mais
       peut être changée avec l'option -t.

       telinit  -e  demande  à  init  de  changer  l'environnement  des processus qu'il lance. Le
       paramètre de -e est soit de la forme VAR=VAL, qui positionne la variable VAR à  la  valeur
       VAL, ou de la forme VAR (sans signe égal), qui retire la variable VAR.

       telinit ne peut être appelé que par les utilisateurs avec les droits appropriés.

       Le  binaire  init  s'il  s'agit  d'init  ou  de  telinit  en  fonction de l'identifiant du
       processus ; le véritable init a toujours un identifiant égal à 1.  Grâce  à  cela  il  est
       possible également d'appeler init au lieu de telinit, comme raccourcis.

ENVIRONNEMENT

       init configure les variables d'environnement suivantes pour tous ses fils :

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

       INIT_VERSION
              Comme  le nom l'indique. Utile pour déterminer si un script est exécuté directement
              par init.

       RUNLEVEL
              Le niveau d'exécution courant du système.

       PREVLEVEL
              Le niveau d'exécution précédent (utile après un changement de niveau d'exécution).

       CONSOLE
              La console système. Ceci provient du noyau ; cependant si elle n'existe  pas,  init
              la positionne à /dev/console par défaut.

BOOTFLAGS

       Il  est  possible  de fournir un certain nombre d'options à init depuis le gestionnaire de
       démarrage (par exemple LILO). init accepte les options suivantes :

       -s, S, single
            Démarrage en mode mono-utilisateur. Dans ce mode, /etc/inittab  est  examiné  et  les
            scripts rc de démarrage sont généralement lancés avant que l'interpréteur de commande
            du mono-utilisateur ne commence.

       1-5  Niveau d'exécuter dans lequel il faut démarrer.

       -b, emergency
            Démarrer directement un interpréteur de commande en mode mono-utilisateur sans  lancé
            aucun autre script de démarrage.

       -a, auto
            Le  gestionnaire  de  démarrage  LILO ajoute le mot « auto » sur la ligne de commande
            pour les démarrages utilisant le ligne de commande par défaut (sans intervention d'un
            utilisateur). Dans ce cas, init positionne la variable d'environnement « AUTOBOOT » à
            la valeur « yes ». Notez que vous ne pouvez utiliser ceci à des  fins  sécuritaires ;
            un   utilisateur   pouvant  bien  sûr  spécifier  « auto »  ou  ajouter  l'option  -a
            manuellement sur la ligne de commande.

       -z xxx
            Le paramètre de -z est ignoré. Vous pouvez utiliser ceci pour étendre  légèrement  la
            ligne  de  commande, pour qu'elle prenne plus de place sur la pile. init peut ensuite
            manipuler la ligne de commande de telle sorte que ps(1) affiche le niveau d'exécution
            actuel.

INTERFACE

       init  écoute  sur  une  fifo  dans  /dev, /dev/initctl dans l'attente de messages. telinit
       utilise ceci pour  communiquer  avec  init.  L'interface  n'est  pas  très  documentée  ou
       finalisée.  Les  personnes  intéressées  devraient  étudier  le  fichier initreq.h dans le
       sous-répertoire src/ de l'archive tar des source d'init.

SIGNAUX

       init réagit à plusieurs signaux :

       SIGHUP
            Identique à telinit q.

       SIGUSR1
            Lors de la réception de ces signaux, init ferme  et  réouvre  sa  fifo  de  contrôle,
            /dev/initctl. Ceci est utile pour les scripts de démarrage quand /dev est remonté.

       SIGINT
            Normalement  le noyau envoie ce signal à init quand la combinaison CTRL-ALT-SUPPR est
            pressée. Ceci active l'action ctrlaltdel.

       SIGWINCH
            Le noyau envoie ce signal quand la touche KeyboardSignal  est  pressée.  Ceci  active
            l'action kbrequest.

CONFORMITÉ

       init  est  compatible  avec l'init de Système V. Il collabore étroitement avec les scripts
       des répertoires /etc/init.d et /etc/rc{niveau_exécution}.d. Si votre système utilise cette
       convention,  il  devrait  y  avoir  un  fichier  README dans le répertoire /etc/init.d qui
       explique comment ces scripts fonctionnent.

FICHIERS

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

AVERTISSEMENTS

       init suppose que les processus et  leurs  descendants  restent  dans  le  même  groupe  de
       processus  créé initialement pour eux. Si les processus changent leur groupe, init ne peut
       pas les tuer et cela peut conduire à avoir deux processus qui  lisent  la  même  ligne  de
       terminal.

       Sur un système Debian, entrer dans le niveau d'exécution 1 force tous les processus à être
       tués à l'exception des threads du noyau et du  script  qui  s'occupe  de  tuer  les  autre
       processus  ainsi  que les autres processus de sa session. En conséquence, il n'est pas sûr
       de passer du niveau d'exécution 1  vers  un  niveau  d'exécution  multi-utilisateur :  les
       démons  qui  étaient  démarré  dans  le niveau d'exécution S et qui sont nécessaire au bon
       fonctionnement ne tournent plus. Le système devrait être redémarré.

DIAGNOSTIC

       Si init trouve qu'il n'arrête pas de  relancer  une  entrée  (plus  de  10  fois  en  deux
       minutes),  il  supposera qu'il y a une erreur dans la commande, générera une erreur sur la
       console système et refusera de relancer cette entrée à  moins  que  5  minutes  se  soient
       écoulées  ou  qu'il  ait  reçu un signal. Ceci permet d'éviter de consommer des ressources
       système quand quelqu'un a fait une faute de frappe dans le fichier /etc/inittab ou que  le
       programme de l'entrée a été supprimé.

AUTEUR

       Miquel  van  Smoorenburg (miquels@cistron.nl), page de manuel originelle de Michael Haardt
       (u31b3hs@pool.informatik.rwth-aachen.de).

VOIR AUSSI

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

TRADUCTION

       La  traduction  de  cette  page  de  manuel  est  maintenue  par  les  membres de la liste
       <debian-l10n-french AT lists DOT debian  DOT  org>.  Veuillez  signaler  toute  erreur  de
       traduction par un rapport de bogue sur le paquet manpages-fr-extra.

                                         29 juillet 2004                                  INIT(8)