Как перезапустить сервер squid, запущенный exec - PullRequest
0 голосов
/ 30 октября 2019

В настоящее время я пишу программу, которая будет управлять запуском сервера squid, в которой я использую fork-exec для запуска сервера squid в не фоновом режиме и с указанным файлом конфигурации. И в основном процессе я буду периодически перезагружать сервер squid, отправляя сигнал дочернему процессу.

Однако, похоже, что мне не удается перезагрузить процесс squid с помощью команды kill -HUP». Позже я попытался проверить, действительно ли SIGHUP работает для перезагрузки сервера Squid, запустив сервер в отдельной оболочке, и это тоже не работает.

Так я не прав с перезагрузкой сервера Squid?

В реализации я использую команду kill с SIGHUP для перезапуска сервера с идентификатором дочернего процесса (после чего указывается, как конфигурация squid в systemd сообщает мне, как перезагрузить squid, https://github.com/squid-cache/squid/blob/master/tools/systemd/squid.service).

Ожидается: я могу перезагрузить Squid с помощью kill -HUP в любое время в моем основном процессе. Фактически: произошел сбой при перезагрузке, и дочерний процесс завершится, когда я отправлю SIGHUP.

1 Ответ

0 голосов
/ 03 ноября 2019

Просматривая файл cache.log, я обнаружил, что squid распознает только полный путь к файлу конфигурации. Поэтому просто введите полный путь к файлу при запуске squid, и он успешно перезагрузится с той же конфигурацией, когда вы отправите сигнал HUP процессу squid.

...