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
필요한 서비스 중 하나가 시스템에 없습니다. 이 종속성을 수정하면 Merlin 서비스를 먼저 실행할 필요 없이 재부팅 시 즉시 다시 시작할 수 있는 문제도 해결됩니다 stop
.