Fail PID hilang. Semak cara systemd memulakan Squid.
Selaraskan tingkah laku Squid di latar hadapan atau sebagai daemon dengan unit systemd-nya sebelum menganggap fail PID yang hilang sebagai masalah kebenaran.
Jika fail PID Squid muncul dan terus hilang, bandingkan Type= unit yang dimuatkan dengan fail boleh laku sebenar dan hujahnya. Perkhidmatan Type=simple menjangka proses yang dimulakan kekal sebagai proses utama. Perintah yang beralih ke daemon dan membiarkan proses itu tamat mengikut kontrak lain; systemd boleh menganggapnya selesai dan meruntuhkan proses perkhidmatan yang tinggal.
| Tetapan | Pemilik dan tujuan |
|---|---|
pid_filename | Squid menulis PID-nya pada laluan ini dalam versi yang menyediakan arahan itu |
PIDFile= | systemd membaca PID dari laluan ini apabila model perkhidmatan itu memerlukannya |
PIDFile= tidak mencipta fail itu dan tidak menjadikan perintah yang beralih ke daemon sebagai proses latar hadapan. Dalam susunan fork, jenis perkhidmatan, tingkah laku daemon dan laluan mesti sepadan. Dalam susunan latar hadapan, pengurus mesti menjejaki proses berterusan yang dimaksudkan.
Squid membezakan -N, iaitu mengelak mod daemon, daripada --foreground, iaitu mengekalkan induk sehingga anak-anaknya tamat. Pilih mengikut binaan dan susunan perkhidmatan. Unit berbungkus mungkin menggunakan pemberitahuan kesediaan atau pilihan lain khusus binaan; kekalkan model itu apabila menyesuaikannya.
Sekarang bandingkan jurnal dengan mesej permulaan Squid. Ralat sintaks, direktori masa jalan yang tidak dapat dicapai atau permulaan maut memang boleh menghentikan perkhidmatan dan membuang fail PID-nya. Kehilangan itu sahaja tidak membezakan keluarnya proses itu daripada penjejakan proses yang salah. Betulkan punca yang disokong oleh mesej itu daripada menukar pemilikan direktori berulang kali.