내 시스템에는 b.timer에 의해 활성화된 b.service가 있습니다. b.service 이전에 다른 서비스(a.service)가 시작되기를 원합니다. b.service나 b.timer는 내 것이 아니기 때문에 변경할 수 없습니다. a.service를 넣었는데 Before=b.service
타이머가 b.service를 시작하지만 a.service는 시작하지 않습니다.
답변1
a.service
으로 표시할 수 있습니다 RequiredBy
b.service
.
a.service
다음과 같이 만드세요 :
[Unit]
Before=b.service
[Service]
Type=exec
ExecStart=...
[Install]
RequiredBy=b.service
그런 다음:
systemctl enable a.service
이제 b.service
시작할 때마다(타이머로든 패스로든 systemctl start
) 새 것이 a.service
먼저 시작됩니다.
답변2
이 Before
지시문은 시작 중에만 사용됩니다. 서비스 순서를 결정하는 데에만 사용됩니다.
요구 사항을 충족하려면 다음 섹션을 다음 섹션에 추가하세요 a.service
.
[Install]
WantedBy=b.service
그런 다음 다음을 실행하십시오.
systemctl enable a.service
이렇게 하면 b.service
시작 예정 시간 보다 먼저 시작됩니다 a.service
.