LINUX:Fichier contenant le numéro de processus

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu de Systemd


But

A chaque programme lancé est attribué un numéro unique (PID). S'il est lancé deux fois, il en aura deux différents. Il est courant de retrouver ce numéro dans un fichier pour les services.


Emplacement

Usuellement ce fichier est créé dans le répertoire "/run" ou dans un sous-répertoire.

Si on y regarde de plus près, on remarque que "/run" est un "file system" créé dynamiquement en mémoire; ce qui signifie que si on arrête la machine, tous son contenu est perdu, effacé. Il faut donc recréer son contenu à chaque démarrage.


Service

Cette tâche est effectuée par le programme "systemd-tmpfiles" qui est notamment lancé une fois au démarrage via le service "systemd-tmpfiles-setup.service". Il ne concerne pas seulement l'arborescence sous le répertoire "/run" mais également d'autres fichiers nécessaires au bon fonctionnement du système. Un autre service existe, dédié aux fichiers de "/dev": "systemd-tmpfiles-setup-dev.service". Un troisième service se charge du nettoyage journalier: "systemd-tmpfiles-clean.timer".


Configuration

Ses fichiers de configuration se retrouvent dans le répertoire "/usr/lib/tmpfiles.d"; ils ont l’extension ".conf".

Chaque fichier comprend une ou plusieurs lignes, chacune dédiée à une tâche. Chaque ligne est constituée de sept colonnes:

  • Type de fichier ("f" pour fichier, "d" pour répertoire, "L" pour lien symbolique,...)
  • Chemin (ou Path)
  • Privilèges (ou Mode) comme on l'utilise avec la commande "chmod" en mode numérique
  • Utilisateur propriétaire
  • Groupe propriétaire
  • Age de la dernière modification dans un but de nettoyage
  • Argument (optionnel): nécessaire par exemple pour la création de liens symboliques

Une absence de valeur est signalée par un tiret ("-"). Voyez les Mans Pages pour plus de détails.


Exemple

J'ai été confronté à ce problème sous Ubuntu. J'utilisais une application WEB "NagioSQL" qui permet de configurer le logiciel de surveillance réseau "Nagios". Il avait besoin du fichier "/run/nagios/nagios.pid" défini dans la configuration de Nagios via l'option "lock_file". Mais problème, le répertoire "/run/nagios" n'existe pas.

J'ai donc créé le fichier "/usr/lib/tmpfiles.d/nagios.conf" dont voici le contenu:


D /run/nagios 0755 nagios nagios -


On crée le répertoire "/run/nagios" appartenant à l'utilisateur/groupe "nagios/nagios" qui exécute le service Nagios avec les privilèges "0755".




retour au menu de Systemd