title: Run level
text: # Run level
  
  Le run level, ou niveau d'exécution, est un chiffre ou une lettre utilisé par le processus init des systèmes de type Unix pour déterminer les fonctions activées.
  
  ## Fonctionnement
  
  Le run level varie généralement de 0 à 6, et il y a parfois un niveau « s ». Chacun correspond à un ensemble d'applications à mettre en marche. En général, plus le run level est élevé, plus il y aura de fonctions actives.
  
  Le run level 6 est affecté au redémarrage de l'ordinateur, et le run level 0 à l'arrêt. S'y ajoute parfois le niveau S (mode « single user »).
  
  Le fichier /etc/inittab détermine le run level par défaut du système au démarrage, ainsi que les fonctions actives à chaque run level.
  
  On passe d'un run level à l'autre en utilisant la commande init ou telinit (ou encore shutdown pour les transitions vers 0 ou 6). La transition d'un niveau à l'autre va lancer des scripts d'arrêt et de démarrage de fonctions.
  
  Pour passer d'un niveau à l'autre, il n'est pas nécessaire de passer par les niveaux intermédiaires.
  
  La commande « who -r » permet de consulter le run level actuel:
  
  La commande « runlevel » le permet également:
  
  ## Organisation dans System V
  
  Dans cette organisation héritée de UNIX System V, utilisée par Solaris et plusieurs distributions Linux, les scripts de lancement des applications sont regroupés dans un répertoire commun /etc/init.d. Ces scripts reçoivent un paramètre qui peut être start, stop, restart, etc.
  
  À chaque niveau correspond un répertoire (typiquement /etc/rc.d/rc2.d pour le niveau 2) de liens symboliques vers des fichiers de /etc/init.d. Ces liens symboliques portent des noms commençant par la lettre S ou K, suivi d'un numéro sur deux chiffres.
  
  Lors d'un changement de run level :
  
  * les scripts dont le nom commence par un K dans le répertoire correspondant au niveau actuel sont lancés (dans l'ordre des numéros) avec le paramètre stop, ce qui a normalement pour effet d'arrêter le service correspondant,
  * les scripts du nouveau niveau qui commencent par S sont appelés successivement avec le paramètre start.
  
  ## Signification conventionnelle des run levels
  
  Les run levels ne sont pas tous normalisés, en général la signification suivante est adoptée :
  
  * 0 : Arrêt
  * 1 : Mode mono-utilisateur ou maintenance
  * 2 à 5 : dépend du système d'exploitation
  * 6 : Redémarrage
  
  Le niveau 2 peut correspondre à un mode multi-utilisateur sans serveur applicatif.
  
  Le niveau 3 correspond alors à un environnement multi-utilisateur avec serveurs applicatifs.
  
  Le niveau 4 ou 5 est parfois utilisé pour lancer l'environnement graphique.
  
  