Jeśli plik PID Squida pojawia się i natychmiast znika, porównaj Type= wczytanej jednostki z rzeczywistym plikiem wykonywalnym i jego argumentami. Usługa typu Type=simple oczekuje, że uruchomiony proces pozostanie procesem głównym. Polecenie, które przechodzi w tryb demona i pozwala temu procesowi zakończyć się, podlega innemu kontraktowi; systemd może uznać je za zakończone i zdjąć pozostałe procesy usługi.

UstawienieWłaściciel i cel
pid_filenameSquid zapisuje swój PID pod tą ścieżką w wersjach, które udostępniają tę dyrektywę
PIDFile=systemd czyta PID z tej ścieżki tam, gdzie wymaga go ten model usługi

PIDFile= nie tworzy pliku i nie zamienia polecenia przechodzącego w demona w proces pierwszego planu. W układzie z fork typ usługi, zachowanie demona i ścieżka muszą się zgadzać. W układzie pierwszoplanowym menedżer musi śledzić zamierzony trwały proces.

Squid rozróżnia -N, czyli unikanie trybu demona, od --foreground, czyli utrzymywanie rodzica do zakończenia potomków. Wybieraj według kompilacji i układu usługi. Spakowana jednostka może zamiast tego używać powiadomienia o gotowości lub innych opcji właściwych dla kompilacji; zachowaj ten model podczas dostosowywania.

Teraz porównaj dziennik z komunikatami startowymi Squida. Błąd składni, niedostępny katalog uruchomieniowy lub fatalna inicjalizacja mogą naprawdę zatrzymać usługę i usunąć jej plik PID. Samo zniknięcie nie odróżnia tego wyjścia od błędnego śledzenia procesu. Napraw przyczynę potwierdzoną przez te komunikaty, zamiast wielokrotnie zmieniać właściciela katalogu.

Powiązane artykuły