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

NOM

       init, telinit – Initialisation du contrôle des processus

SYNOPSIS

       /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ]
       /sbin/init [ --version ]
       /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 (consultez inittab(5)).  Ce  fichier  comporte
       généralement  des  entrées  qui forcent init à lancer des getty sur chacune des lignes sur
       lesquelles des utilisateurs peuvent se connecter.  Il  contrôle  également  des  processus
       autonomes nécessaires 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  en
       « 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écessitent  une
       correction  de  la  part  d'un administrateur en mode mono-utilisateur. Normalement, après
       être entré en 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és. 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êmes 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 le fichier /etc/inittab pour voir s'il y a une  entrée  du  type  initdefault
       (consultez  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écessitent pas de fichier
       /etc/inittab.

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

       Quand il entre en 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 en mode multiutilisateur pour la première fois, init  exécute  les  entrées
       boot  et  bootwait  pour  permettre  aux  systèmes  de fichiers 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 processus enfant se termine, init enregistre  cela  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 engendré tous les processus indiqués, init attend qu'un de ses processus
       enfant meure, 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  nouvelles  entrées
       peuvent  être ajoutées à ce fichier à n'importe quel moment. Cependant, init attend qu'une
       de ces conditions 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 (recharge) le
       fichier /etc/inittab.

       Si init n'est pas en 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é lue.

       L'utilisation  de  SIGPWR et de /etc/powerstatus n'est pas conseillée. Pour interagir avec
       init il vaut mieux utiliser le canal de  contrôle  /run/initctl ;  consultez  la  page  de
       manuel de initctl pour plus de documentation à ce sujet.

       Quand  on  demande  à  init  de  changer  de  niveau  d'exécution,  il  envoie  le  signal
       d'avertissement SIGTERM à tous les processus qui ne  sont  pas  définis  dans  le  nouveau
       niveau  d'exécution. Il attend ensuite 3 secondes avant de forcer l'arrêt de ces processus
       avec le signal SIGKILL. Notez que init suppose que tous ces processus (et  leurs  enfants)
       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 séparément.

TELINIT

       /sbin/telinit est un lien vers /sbin/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 ayant le
              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 indiquer à init combien de  temps  il  devrait  attendre  entre  l'envoi  des
       signaux  SIGTERM  et  SIGKILL  aux processus. La valeur par défaut est de 3 secondes, mais
       elle peut être changée avec l'option -t.

       telinit -e indique à 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 vérifie 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, init peut
       également être appelé au lieu de telinit, comme raccourci.

ENVIRONNEMENT

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

       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 actuel 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. Cela provient directement du noyau ; cependant si elle n'existe
              pas, init la positionne à /dev/console par défaut.

ATTRIBUTS D'AMORÇAGE

       Un certain nombre d'options peuvent être fournies à  init  à  partir  du  gestionnaire  de
       démarrage (par exemple LILO ou GRUB). 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.

       15  Niveau d'exécution dans lequel il faut démarrer.

       -b, emergency
            Démarrage  direct  d'un interpréteur de commande en mode mono-utilisateur sans lancer
            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 la 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 pas utiliser cela à des fins sécuritaires ;
            un utilisateur pouvant bien sûr indiquer « auto » ou ajouter l'option -a lui-même sur
            la ligne de commande.

       -z xxx
            Le  paramètre  de -z est ignoré. Vous pouvez utiliser cela 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.

       --version
            Cet argument, utilisé seul, affiche la version actuelle d’init sur la console/stdout.
            C’est  un  moyen  rapide  pour déterminer quel logiciel d’initialisation est en cours
            d’utilisation. Après l’affichage de la version, init se  termine  immédiatement  avec
            zéro comme code de retour.

INTERFACE

       init  écoute  sur  une  fifo  dans /dev, /run/initctl, dans l'attente de messages. telinit
       utilise cela 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 sources 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,
            /run/initctl. Cela est utile pour les scripts de démarrage quand /dev est remonté.

       SIGUSR2
            Quand  init  reçoit SIGUSR2, il ferme et abandonne la fifo de contrôle, /run/initctl,
            fermée. Cela peut être utilisé pour être sûr que qu’init ne maintient pas  ouvert  un
            quelconque  fichier.  Toutefois,  il  empêche  aussi  init  de  changer  les  niveaux
            d’exécution, ce qui signifie que des commandes telles que shutdown ne  fonctionneront
            plus. La fifo peut être réouverte en envoyant à init le signal SIGUSR1.

       SIGINT
            Normalement  le  noyau  envoie  ce  signal à init à travers la combinaison de touches
            Ctrl-Alt-Suppr. Cela active l'action ctrlaltdel.

       SIGWINCH
            Le noyau envoie ce signal quand la touche KeyboardSignal  est  pressée.  Cela  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
       /run/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  autres
       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és dans le niveau d'exécution S et qui sont nécessaires au bon
       fonctionnement ne tournent plus. Le système devrait être redémarré.

DIAGNOSTICS

       Si init trouve qu'il n'arrête pas de relancer  une  entrée  (plus  de  dix  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 cinq  minutes  se  soient
       écoulées  ou  qu'il  ait  reçu un signal. Cela 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),  initctl(5),  inittab(5),
       initscript(5), utmp(5)

TRADUCTION

       La  traduction  française  de cette page de manuel a été créée par carmie, Thierry Vignaud
       <tvignaud@mandriva.com>,   Éric   Piel   <eric.piel@tremplin-utc.net>,   Gérard   Delafond
       <gerard@delafond.org>,    Danny   <dannybrain@noos.fr>,   Christophe   Blaess   <ccb@club-
       internet.fr>,    Frédéric     Delanoy     <delanoy_f@yahoo.com>,     François     Wendling
       <frwendling@free.fr>,         Philippe         Batailler,         Nicolas         François
       <nicolas.francois@centraliens.net>,  David  Prévot  <david@tilapin.org>,  Romain   Doumenc
       <rd6137@gmail.com>,   Thomas   Vincent   <tvincent@debian.org>  et  Jean-Paul  Guillonneau
       <guillonneau.jeanpaul@free.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à debian-l10n-french@lists.debian.org ⟨⟩.

                                         29 juillet 2004                                  INIT(8)