我正在编写服务监控应用程序,它需要知道服务何时从活动状态变为非活动状态/失败状态。
我正在订阅PropertiesChanged
信号并观看ActiveState
。
但这还不够。当使用kill/systemctl stop
停止服务时,我发现有两次ActiveState=deactivating
更改了信号:一个使用Substate="stop-sigterm"
,另一个使用Substate="stop-post"
。
根据我之前的查询,我了解只有ActiveState
被视为API,我们不应该关注SubState
。但是当服务停止时,我不会得到ActiveState=inactive
。
所以这似乎是一个错误。
对于解决方法,有什么方法可以找出服务何时停止?作为解决方法,我应该看SubState
吗?