如何为systemd服务提供重启计数

时间:2017-09-12 15:46:42

标签: embedded-linux systemd

我有一个嵌入式设备,使用systemd管理其各种服务。我们的状态报告应用程序是这些服务之一。它始终打开,并在失败时自动重新启动(崩溃,异常,OOM条件等)。

我们在设备重启(技术上的应用程序重启)上向我们的云服务报告事件,但我想区分第一次启动(重启后)和重启。 systemd中是否有一个可以提供服务重启计数的机制,还是需要自己编写方法?

2 个答案:

答案 0 :(得分:1)

你有日记吗?如果你这样做,那么你可以得到这样的计数:

journalctl -b -u myservicename.service |grep -c Started

-b选项将日志限制为当前引导; -u限制参数中的服务。

然后你grep for“Started”行,并告诉grep只给你一些匹配。

答案 1 :(得分:1)

您可以使用以下命令:

systemctl show foo.service -p NRestarts

如果服务处于重新启动循环中,它将返回一个值,否则,将不返回任何内容。