PID-файл знікае. Праверце, як systemd запускае Squid.
Узгадніце працоўны рэжым Squid (foreground ці daemon) з яго systemd-юнітам, перш чым лічыць знікненне PID-файла праблемай правоў.
Калі PID-файл Squid з'яўляецца і адразу знікае, параўнайце Type= загружанага юніта з фактычным выканальным файлам і аргументамі. Сэрвіс Type=simple чакае, што запушчаны працэс застанецца галоўным працэсам. Каманда, якая пераходзіць у рэжым дэмана і дазваляе гэтаму працэсу завяршыцца, ідзе па іншай дамове; systemd можа палічыць яе завершанай і знесці астатнія працэсы сэрвісу.
| Налада | Уладальнік і прызначэнне |
|---|---|
pid_filename | Squid запісвае свой PID па гэтым шляху ў версіях, дзе ёсць гэтая дырэктыва |
PIDFile= | systemd чытае PID з гэтага шляху, калі гэтая мадэль сэрвісу яго патрабуе |
PIDFile= не стварае файл і не ператварае каманду з пераходам у дэман у працэс пярэдняга плана. У схеме з разгалінаваннем тып сэрвісу, паводзіны дэмана і шлях павінны супадаць. У схеме пярэдняга плана кіраўнік павінен адсочваць мэтавы пастаянны працэс.
Squid адрознівае -N, гэта значыць адмову ад рэжыму дэмана, ад --foreground, гэта значыць захаванне бацькоўскага працэсу да завяршэння даччыных. Выбірайце згодна са зборкай і схемай сэрвісу. Пакаваны юніт можа замест гэтага выкарыстоўваць апавяшчэнне аб гатоўнасці ці іншыя параметры, залежныя ад зборкі; захавайце гэтую мадэль пры адаптацыі.
Цяпер параўнайце журнал з паведамленнямі аб запуску Squid. Сінтаксічная памылка, недаступны каталог выканання ці фатальная ініцыялізацыя сапраўды могуць спыніць сэрвіс і выдаліць яго PID-файл. Само знікненне не адрознівае такі выхад ад няправільнага адсочвання працэсу. Выпраўце прычыну, якую пацвярджаюць гэтыя паведамленні, замест таго каб пастаянна мяняць уладальніка каталога.