我正在尝试使用sd_bus_get_property()来检查重新加载(例如nginx或php )是否成功。
为此,属性"ActiveState“和"SubState”非常有趣。
但是,例如,如果我故意在nginx.conf中出错并试图重新加载nginx,则会得到以下状态:
...
ACTIVE_STATE:重装
SUB_STATE:重装
ACTIVE_STATE:重装
SUB_STATE:重装
ACTIVE_STATE:重装
SUB_STATE:重装
ACTIVE_STATE:活动
SUB_STATE:运行
因此,如果nginx处于活动状态并正在运行,那么在失败的重新加载之后,状态将返回到“活动”和“运行”。
是否有办法安全检查,是否重新装载失败?
谢谢!
发布于 2022-06-07 11:37:12
最后,我以不同的方式管理流程:
作为Nginx和PHP的一个例子:
Nginx:
从所有Nginx工作进程(systemd1. most GetUnitProcesses).
PHP:
在PHP上,似乎更容易一些,因为如果重新加载失败,PHP会将"ActiveState“设置为"failed”。
我认为我可以在状态“重新加载”之后等待"ActiveState“的更改,但是如果重新加载失败,php会首先将状态设置为”活动“an,然后很快将其设置为”失败“。
因此,我也等待PHP 200-300 the,然后检查状态。
如果有人有更好的主意请告诉我..。谢谢!
https://stackoverflow.com/questions/72464165
复制相似问题