将状态信息添加到 systemd 的状态输出

将状态信息添加到 systemd 的状态输出

我正在为名为 Retrospect 的备份软件客户端编写一个 systemd 脚本。该软件不遵循任何典型的 Linux 操作方式。从程序中获取状态意味着正在运行retrocpl -status。其中包含重要且当前 systemd 未自动收集的信息。可以以某种方式将其添加到状态输出中吗?

[Service] 
ExecStart=/usr/local/retrospect/client/retroclient        
ExecStop=/usr/local/retrospect/client/retrocpl -stop
Restart=on-failure RestartSec=60s

我使用的是 Ubuntu 16.04,它的 systemd 229。

$ systemd --version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN
$ lsb_release -d
Description:    Ubuntu 16.04.1 LTS

编辑:删除了维兰德指出的错误信息。谢谢!

答案1

systemd 有一个协议,应用程序可以将消息发送到服务管理器,这些消息显示在systemctl status.为了获得最佳结果,必须在应用程序本身中实现它。应用程序必须主动发送状态通知。

进一步阅读

相关内容