事前に構成された期間実行してから終了するデーモンがあります。その後、必要に応じてユーザーは再起動できます。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
オプションを追加すると、[Service]
[Unit]
# as above
...
[Service]
# as above
...
RemainAfterExit=yes
...
systemd
システムに文句はありませんが、サービスが正しく実行されていると想定しているdegrarded
ため、コマンドでサービスを再起動できなくなり、再起動する必要はありません。それを解決する方法はありますか?systemctrl start daemonXXX
systemd
daemonXXX