You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04服务器上systemctl reload nagios4失败但systemctl is-failed无法识别异常的问题求助

Ubuntu 22.04服务器上systemctl reload nagios4失败但systemctl is-failed无法识别异常的问题求助

我在Ubuntu 22.04服务器上写了一个bash脚本,用来重载nagios4的配置文件,重载完成后想检查服务是否正常运行。脚本内容如下:

#!/bin/bash
sudo systemctl reload nagios4.service

if (systemctl --quiet is-failed nagios4.service); then
    echo "Bad config!"
fi

但这个脚本根本不起作用——当配置文件有问题时,nagios4服务确实会失败,但systemctl is-failed就是识别不到这个异常。

我手动执行systemctl status nagios4时,能看到明确的失败状态:

× nagios4.service - nagios4
     Loaded: loaded (/lib/systemd/system/nagios4.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Wed 2024-06-05 09:20:03 CEST; 4min 27s ago

我试过把脚本里的reload改成restart,也试过给systemctl is-failed加上sudo权限,但都没有解决问题。

我到底漏掉了什么?


更新:即使重载失败,systemctl reload的返回状态码依然是0:

sudo systemctl reload nagios4.service
status=$?
echo $status # 输出0,哪怕配置错误导致服务失败

备注:内容来源于stack exchange,提问作者nulll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 11:24:49