Qu'est-ce que le format de fichier PID ?
Un fichier .pid est un petit fichier texte brut utilisé par les démons Unix et les services d'arrière-plan pour enregistrer leur propre identifiant de processus (PID) au démarrage. Le fichier contient un seul entier décimal - le PID - éventuellement suivi d'un saut de ligne, ce qui rend la taille typique du fichier comprise entre 2 et 10 octets.
Les fichiers .pid servent trois objectifs pratiques. Premièrement, ils agissent comme un verrou : un service lit le fichier au démarrage et vérifie si un processus avec ce PID est toujours en cours d'exécution, empêchant ainsi les instances en double. Deuxièmement, ils permettent aux scripts d'initialisation et aux gestionnaires de services d'envoyer des signaux (SIGTERM, SIGHUP) au bon processus sans recherche séparée. Troisièmement, les outils de surveillance les utilisent pour détecter si un service a planté.
Les fichiers sont conventionnellement stockés dans /var/run/ sous Linux ou /tmp/ sur d'autres systèmes Unix et nommés d'après le service propriétaire - par exemple, nginx.pid ou mysqld.pid. Lorsque le processus se termine proprement, il supprime son propre fichier .pid ; un fichier laissé après un plantage est appelé un *stale PID file* (fichier PID obsolète) et doit être supprimé avant de redémarrer le service.
Les formats associés incluent les fichiers .lock, qui jouent un rôle similaire d'exclusion mutuelle. Les systèmes Linux modernes utilisant systemd s'appuient de plus en plus sur le suivi des processus basé sur les cgroups au lieu des fichiers .pid, réduisant progressivement leur utilisation dans les nouvelles définitions d'unités de service.
Sécurité et sûreté
RISQUE : LOWLes fichiers PID sont du texte brut ne contenant qu'un nombre. Ils ne peuvent pas s'exécuter et ne posent aucun risque de sécurité en eux-mêmes. Ne définissez pas manuellement de PID arbitraires dans un fichier .pid - les services comptent sur l'exactitude du PID pour la distribution des signaux. Supprimer un .pid obsolète est sûr et nécessaire pour débloquer le redémarrage d'un service.
Détails du format
en brefProgrammes qui ouvrent les fichiers PID
Détails techniques
spécifications approfondies| Contenu du fichier | Entier décimal unique (l'identifiant de processus), éventuellement suivi d'un saut de ligne |
| Taille typique du fichier | 2-10 octets (les PID Linux peuvent atteindre 4 194 304, nécessitant jusqu'à 7 chiffres) |
| Encodage | Texte brut ASCII ; aucune donnée binaire |
| Chemin de stockage conventionnel | /var/run/ sous Linux ; /tmp/ sur les autres systèmes Unix |
| Convention de nommage | Nommé d'après le service propriétaire, par ex. nginx.pid ou mysqld.pid |
| Cycle de vie | Créé au démarrage du démon ; supprimé lors d'une sortie propre ; laissé obsolète après un plantage |
| Objectifs principaux | Empêcher les instances de service en double ; acheminer les signaux (SIGTERM, SIGHUP) vers le bon PID ; permettre la surveillance de l'état |
| Systèmes d'exploitation | Linux, macOS, BSD, Unix ; certains démons Windows via WSL |
| Alternative moderne | Suivi par cgroup systemd, qui élimine le besoin de fichiers PID dans les nouveaux fichiers d'unité de service |
| Type MIME | text/plain |
| Structure du fichier | Texte brut à champ unique ; pas d'en-tête, pas de schéma, pas de structure binaire |
| Publié | 1980s (POSIX/Unix convention) |
| Dernière version | N/A (no versioned spec) |
Conversions PID
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PID.