PID ֆայլը անհետանում է. Ստուգեք, թե ինչպես է systemd-ն գործարկում Squid-ը։
Համապատասխանեցրեք Squid-ի առաջին պլանի կամ դեմոնի վարքը նրա systemd միավորին, նախքան անհետացող PID ֆայլը որպես թույլտվությունների խնդիր դիտարկելը։
Եթե Squid-ի PID ֆայլը հայտնվում է և անմիջապես անհետանում, համեմատեք բեռնված միավորի Type=-ը իրական կատարվող ֆայլի և նրա արգումենտների հետ։ Type=simple տիպի ծառայությունը սպասում է, որ գործարկված գործընթացը մնա հիմնական գործընթաց։ Հրամանը, որը դառնում է դեմոն և թույլ է տալիս այդ գործընթացին ավարտվել, հետևում է այլ պայմանագրի. systemd-ն կարող է այն համարել ավարտված և վերացնել ծառայության մնացած գործընթացները։
| Կարգավորում | Սեփականատեր և նպատակ |
|---|---|
pid_filename | Squid-ը գրում է իր PID-ը այս ուղու վրա այն տարբերակներում, որոնք ունեն այս հրահանգը |
PIDFile= | systemd-ն կարդում է PID այս ուղուց, որտեղ այդ ծառայության մոդելը դրա կարիքն ունի |
PIDFile=-ը չի ստեղծում ֆայլը և դեմոն դարձող հրամանը չի վերածում առաջին պլանի գործընթացի։ Fork-ով կազմակերպման դեպքում ծառայության տեսակը, դեմոնի վարքը և ուղին պետք է համընկնեն։ Առաջին պլանի կազմակերպման դեպքում կառավարիչը պետք է հետևի նախատեսված մշտական գործընթացին։
Squid-ը տարբերում է -N-ը, այսինքն դեմոնի ռեժիմից խուսափելը, --foreground-ից, այսինքն ծնողին պահելը մինչև զավակների ավարտը։ Ընտրեք ըստ կառուցման և ծառայության կազմակերպման։ Փաթեթավորված միավորը կարող է փոխարենը օգտագործել պատրաստականության ծանուցում կամ կառուցմանը հատուկ այլ տարբերակներ. պահպանեք այդ մոդելը այն հարմարեցնելիս։
Այժմ համեմատեք մատյանը Squid-ի գործարկման հաղորդագրությունների հետ։ Շարահյուսական սխալը, անհասանելի աշխատանքային պանակը կամ ճակատագրական նախաձեռնումը իսկապես կարող են կանգնեցնել ծառայությունը և հեռացնել նրա PID ֆայլը։ Միայն անհետանալը չի տարբերում այդ ելքը գործընթացի սխալ հետևումից։ Ուղղեք այն պատճառը, որը հաստատում են այդ հաղորդագրությունները, փոխարենը պանակի սեփականատիրոջը կրկին ու կրկին փոխելու։