그룹 시스템 서비스

그룹 시스템 서비스

.service나는 내가 개발 중인 시스템을 구성하는 다양한 부분에 대해 약 6개의 파일을 작성했습니다. 전체 시스템을 단계별로 시작할 수 있다는 점이 유용하지만, 한 번의 호출로 전체 시스템을 시작할 수 있는 장치도 갖고 싶습니다 systemctl.

가장 좋은 접근 방식은 무엇입니까?

답변1

당신은 하나를 원한다대상 유닛, 모든 서비스 단위는 종속성으로 나열됩니다 Wants=. 그런 다음 systemctl start unitname.target. (여기서 사용하지 마십시오 systemctl isolate. 이렇게 하면 아마도 원하지 않는 서비스 종속성 트리의 항목을 제외한 모든 항목이 꺼집니다.)

답변2

사용해 보셨나요?PartOfWants타겟팅 외에도 타겟 그룹의 하위 단위도 타겟팅합니까? 예: PartOf=foo.targetin foo-sub1.serviceWants=foo-sub1.service foo-sub2.servicein foo.target. 방금 이것을 시도했는데 대상을 시작하고 중지하는 것만으로 모든 하위 유닛을 시작하고 중지할 수 있었습니다.

부분 =

종속성 구성은 Requires=와 유사하지만 장치를 중지하고 다시 시작하는 것으로 제한됩니다. systemd가 여기에 나열된 장치를 중지하거나 다시 시작하면 작업이 해당 장치에 전파됩니다. 이는 단방향 종속성입니다. 이 장치를 변경해도 나열된 장치에는 영향을 미치지 않습니다.

a.service에서 PartOf=b.service를 사용하는 경우 이 종속성은 b.service의 속성 목록에 ConsistsOf=a.service로 표시됩니다. ConsistsOf= 종속성을 직접 지정할 수 없습니다.

관련 정보