systemctl
最初に停止しないと再起動できないシステム定義サービスがあります。Systemctl
その単位が存在しないと主張します。を実行するまで再起動するたびにこれが発生しますsystemctl stop
。まず、サービスを呼び出さずにサービスを正しく再起動できるかどうかを確認できますかsystemctl stop
?
例:
# systemctl restart merlind.service
Failed to restart merlind.service: Unit not found.
# systemctl stop merlind.service
# systemctl restart merlind.service
システムサービス定義:
[Unit]
Description=Merlin
After=network.target
[Service]
ExecStart=/usr/bin/merlind --config /path/to/conf --debug
ExecStop=/usr/bin/merlind --config /path/to/conf --kill
Restart=always
[Install]
WantedBy=multi-user.target
.serviceファイルは次の場所/usr/lib/systemd/system/
にあり、シンボリックリンクされています。/etc/systemd/system/multi-user.target.wants/
CentOS Linuxバージョン7.5.1804(コア)
システムバージョン:219
答え1
この場合は別のサービスがありますが、ここではいくつかの他のサービスと一緒に説明する必要ServiceA
があります。Merlin
ただし、ServiceA
必要なサービスの1つがシステムにありません。この依存関係を変更すると、Merlinサービスを最初に実行せずに再起動時にすぐに再起動できる問題も解決されますstop
。