Si le fichier PID de Squid apparaît puis disparaît aussitôt, comparez Type= de l'unité chargée avec l'exécutable réel et ses arguments. Un service Type=simple attend que le processus lancé reste le processus principal. Une commande qui passe en démon et laisse ce processus se terminer suit un autre contrat ; systemd peut la considérer comme terminée et abattre les processus restants du service.

ParamètreResponsable et objet
pid_filenameSquid écrit son PID à ce chemin sur les versions qui fournissent la directive
PIDFile=systemd lit un PID à ce chemin là où ce modèle de service en a besoin

PIDFile= ne crée pas le fichier et ne transforme pas une commande qui passe en démon en processus au premier plan. Dans une configuration avec fork, le type de service, le comportement du démon et le chemin doivent concorder. Dans une configuration au premier plan, le gestionnaire doit suivre le processus persistant prévu.

Squid distingue -N, c'est-à-dire éviter le mode démon, de --foreground, c'est-à-dire retenir le père jusqu'à ce que ses enfants terminent. Choisissez selon la compilation et l'organisation du service. Une unité empaquetée peut plutôt utiliser une notification de disponibilité ou d'autres options propres à la compilation ; conservez ce modèle lorsque vous le personnalisez.

Comparez maintenant le journal avec les messages de démarrage de Squid. Une erreur de syntaxe, un répertoire d'exécution inaccessible ou une initialisation fatale peuvent réellement arrêter le service et supprimer son fichier PID. La disparition seule ne distingue pas cette sortie d'un suivi de processus incorrect. Corrigez la cause étayée par ces messages plutôt que de changer sans cesse le propriétaire du répertoire.

Articles similaires