타이머가 있는 systemd 장치 "Before="

타이머가 있는 systemd 장치 "Before="

내 시스템에는 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.

관련 정보