我有一个嵌入式设备,使用systemd管理其各种服务。我们的状态报告应用程序是这些服务之一。它始终打开,并在失败时自动重新启动(崩溃,异常,OOM条件等)。
我们在设备重启(技术上的应用程序重启)上向我们的云服务报告事件,但我想区分第一次启动(重启后)和重启。 systemd中是否有一个可以提供服务重启计数的机制,还是需要自己编写方法?
答案 0 :(得分:1)
journalctl -b -u myservicename.service |grep -c Started
-b选项将日志限制为当前引导; -u限制参数中的服务。
然后你grep for“Started”行,并告诉grep只给你一些匹配。
答案 1 :(得分:1)
您可以使用以下命令:
systemctl show foo.service -p NRestarts
如果服务处于重新启动循环中,它将返回一个值,否则,将不返回任何内容。