如何重新启动由exec启动的鱿鱼服务器

问题描述 投票:0回答:1

我目前正在编写一个程序来控制squid服务器的启动,在该程序中,我使用fork-exec以非后台模式和指定的配置文件启动squid服务器。在主进程中,我将通过向子进程发送信号来定期重新加载鱿鱼服务器。

但是,对于我来说,使用“ kill -HUP”重新加载鱿鱼程序似乎不起作用。因此,稍后我尝试通过在单独的外壳中启动服务器来验证“ SIGHUP”是否确实可用于重新加载鱿鱼服务器,但它也不起作用。

所以我重新加载鱿鱼服务器错了吗?

在实现中,我将kill命令与SIGHUP一起使用以子进程ID重新启动服务器(其后是鱿鱼的systemd配置告诉我如何重新加载鱿鱼https://github.com/squid-cache/squid/blob/master/tools/systemd/squid.service)。

预期:我可以在主进程中随时用kill -HUP重新加载鱿鱼。实际:重新加载失败,并且当我发送SIGHUP时,子进程将退出。

c++ signals squid
1个回答
0
投票

通过查看cache.log文件,我发现鱿鱼仅识别配置文件的完整路径。因此,只需在启动鱿鱼时键入文件的完整路径,当您向鱿鱼进程发送HUP信号时,它将以相同的配置成功重新加载。

© www.soinside.com 2019 - 2024. All rights reserved.