systemd是否支持有时间限制的守护进程?

时间:2016-12-09 08:36:29

标签: daemon systemd time-limiting

我有一个守护程序,它运行一段预先配置的时间,然后退出。如果需要,用户可以重新启动它。似乎systemd无法处理这种类型的服务。以下是我试过的服务文件。

[Unit]
# DaemonXXX quits
Description=DaemonXXX
After=network.target

[Service]
Type=forking
PIDFile=/var/run/daemonXXX.pid
ExecStart=/usr/local/sbin/daemonXXX
StandardOutput=journal

[Install]
WantedBy=multi-user.target

我可以用上面的单位文件开始服务。守护进程退出后,我也可以通过命令systemctrl start DaemonXXX再次启动它。但是当服务在超时后退出时,systemd会抱怨系统因为daemonXXX退出而降级。如果我将RemainAfterExit opton添加到[Service]部分,

[Unit]
# as above
...

[Service]
# as above
...
RemainAfterExit=yes

...

systemd不会抱怨degrarded系统,但我无法再通过systemctrl start daemonXXX命令再次重启服务,因为systemd假设daemonXXX是正确运行,无需重启。有办法解决吗?

0 个答案:

没有答案