Die PID-Datei verschwindet. Prüfen Sie, wie systemd Squid startet.
Bringen Sie Squids Vordergrund- oder Daemonverhalten mit seiner systemd-Unit in Einklang, bevor Sie eine verschwindende PID-Datei als Rechteproblem werten.
Erscheint die PID-Datei von Squid und verschwindet sofort wieder, vergleichen Sie Type= der geladenen Unit mit dem tatsächlichen Programm und seinen Argumenten. Ein Dienst vom Typ Type=simple erwartet, dass der gestartete Prozess der Hauptprozess bleibt. Ein Befehl, der in den Daemonbetrieb wechselt und diesen Prozess beenden lässt, folgt einem anderen Vertrag; systemd kann ihn für beendet halten und die übrigen Dienstprozesse abräumen.
| Einstellung | Verantwortlich und Zweck |
|---|---|
pid_filename | Squid schreibt seine PID in diesen Pfad, sofern die Version diese Direktive kennt |
PIDFile= | systemd liest eine PID aus diesem Pfad, wo dieses Dienstmodell sie benötigt |
PIDFile= legt die Datei nicht an und macht aus einem daemonisierenden Befehl keinen Vordergrundprozess. Bei einer Fork-Konfiguration müssen Diensttyp, Daemonverhalten und Pfad zusammenpassen. Bei einer Vordergrundkonfiguration muss der Manager den vorgesehenen dauerhaften Prozess verfolgen.
Squid unterscheidet -N, also den Verzicht auf den Daemonmodus, von --foreground, also dem Festhalten am Elternprozess, bis die Kindprozesse fertig sind. Wählen Sie passend zu Build und Dienstaufbau. Eine paketierte Unit kann stattdessen eine Bereitschaftsmeldung oder andere buildspezifische Optionen nutzen; behalten Sie dieses Modell beim Anpassen bei.
Vergleichen Sie nun das Journal mit Squids Startmeldungen. Ein Syntaxfehler, ein nicht erreichbares Laufzeitverzeichnis oder eine fatale Initialisierung können den Dienst wirklich beenden und seine PID-Datei entfernen. Das Verschwinden allein unterscheidet diesen Ausstieg nicht von einer falschen Prozessverfolgung. Beheben Sie die durch diese Meldungen belegte Ursache, statt wiederholt den Verzeichniseigentümer zu ändern.