장치(Unit1)에 다음과 같은 장치 파일 구성이 있다고 가정합니다.
[Unit]
Wants=Unit2
Before=Unit2
나는 읽었다~ 고 싶어요예를 들어 "Unit1은 시작 시 Unit2를 실행하려고 시도합니다(그러나 실패해도 상관 없음)."
나는 읽었다앞으로왜냐하면 "Unit1은 Unit2보다 먼저 시작되어야 하기 때문입니다."
만약에~ 고 싶어요Unit2(시도)가 Unit1보다 먼저 시작되도록 하되,앞으로Unit1이 Unit2보다 먼저 시작하도록 하세요. 실제 상황은 어떻습니까? 여기서 무슨 일이 일어나는가?
미리 감사드립니다!
답변1
~에서man systemd.unit
:
한 장치
foo.service
에 설정이 포함되어Before=bar.service
있고 두 장치가 모두 시작되는 경우 시작이 완료될bar.service
때까지 시작이 지연됩니다 .foo.service
이 설정은 구성된 요구 사항 종속성 과 독립적Requires=
이며 직교합니다 .Wants=
BindsTo=
참고: 독립 및 직교.
그리고:
Wants=
.Requires=
하이브가 이미 시작된 경우 이 옵션에 나열된 장치가 시작됩니다.
이것은 Unit2가 시작되도록 하는 것에 대해 아무 말도 하지 않습니다.앞으로1단원. 이는 Unit1 시작이 시작으로 설정되면 Unit2도 시작으로 설정된다는 의미이지만, Unit2 시작이 Unit1 시작 전, 후 또는 동시에 완료된다는 의미는 아닙니다. 이 순서가 설정되어 Before
Unit1이 시작을 완료할 때까지 Unit2의 시작이 지연됩니다.