首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果重新加载进程成功,请与sd_bus检查

如果重新加载进程成功,请与sd_bus检查
EN

Stack Overflow用户
提问于 2022-06-01 15:07:04
回答 1查看 40关注 0票数 0

我正在尝试使用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处于活动状态并正在运行,那么在失败的重新加载之后,状态将返回到“活动”和“运行”。

是否有办法安全检查,是否重新装载失败?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-06-07 11:37:12

最后,我以不同的方式管理流程:

作为Nginx和PHP的一个例子:

Nginx:

从所有Nginx工作进程(systemd1. most GetUnitProcesses).

  • Reload Nginx.

  • 检查所有50‘s,如果在200-300’s之后的Worker-Processes.

  • If列表中有一个新的PID )仍然没有新的PID,所以重新加载最有可能失败。

PHP:

在PHP上,似乎更容易一些,因为如果重新加载失败,PHP会将"ActiveState“设置为"failed”。

我认为我可以在状态“重新加载”之后等待"ActiveState“的更改,但是如果重新加载失败,php会首先将状态设置为”活动“an,然后很快将其设置为”失败“。

因此,我也等待PHP 200-300 the,然后检查状态。

如果有人有更好的主意请告诉我..。谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72464165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档