Se il file PID di Squid compare e svanisce subito, confrontate Type= dell'unità caricata con l'eseguibile reale e i suoi argomenti. Un servizio Type=simple si aspetta che il processo avviato resti il processo principale. Un comando che passa in demone e lascia che quel processo termini segue un altro contratto; systemd può considerarlo concluso e abbattere gli altri processi del servizio.

ImpostazioneResponsabile e scopo
pid_filenameSquid scrive il proprio PID su questo percorso nelle versioni che offrono la direttiva
PIDFile=systemd legge un PID da questo percorso dove quel modello di servizio lo richiede

PIDFile= non crea il file e non trasforma un comando che passa in demone in un processo in primo piano. In una configurazione con fork, tipo di servizio, comportamento del demone e percorso devono concordare. In una configurazione in primo piano, il gestore deve seguire il processo persistente previsto.

Squid distingue -N, cioè evitare la modalità demone, da --foreground, cioè trattenere il padre finché i figli non terminano. Scegliete in base alla compilazione e all'organizzazione del servizio. Un'unità confezionata può invece usare una notifica di disponibilità o altre opzioni specifiche della compilazione; conservate quel modello quando la personalizzate.

Ora confrontate il journal con i messaggi di avvio di Squid. Un errore di sintassi, una directory di esecuzione inaccessibile o un'inizializzazione fatale possono davvero fermare il servizio e rimuovere il suo file PID. La sola scomparsa non distingue quell'uscita da un monitoraggio errato del processo. Correggete la causa sostenuta da quei messaggi invece di cambiare ripetutamente la proprietà della directory.

Articoli correlati