일반적인 질문이 있습니다. *.service
특정 항목 *.service
이 성공적으로 시작된 후 시스템 단위를 어떻게 시작합니까?
더 구체적인 질문은 시작된 website.service
후에 만 어떻게 mongodb.service
시작합니까? 즉,에 website.service
의존해야합니다 mongodb.service
.
일반적인 질문이 있습니다. *.service
특정 항목 *.service
이 성공적으로 시작된 후 시스템 단위를 어떻게 시작합니까?
더 구체적인 질문은 시작된 website.service
후에 만 어떻게 mongodb.service
시작합니까? 즉,에 website.service
의존해야합니다 mongodb.service
.
답변:
[Unit] 섹션 아래의 .service 파일에서 :
[Unit]
Description=My Website
After=syslog.target network.target mongodb.service
중요한 부분은 mongodb.service
맨 페이지에 설명되어 있지만 형식화로 인해 첫눈에 명확하지 않습니다.
After=
종속성은에 After=
포함 된 서비스와에 포함 된 서비스 After=
가 모두 부팅의 일부로 시작되도록 예약 된 경우에만 유효 합니다.
전의:
a.service
[Unit]
After=b.service
이 방법은, 두 경우 a.service
와는 b.service
되어 활성화 , 다음 systemd 의지 주문 b.service
후 a.service
.
내가 오해하지 않는다면, 당신이 묻는 것은 시작될 b.service
때 a.service
시작 하는 방법 b.service
입니다.
이에 대한 지시문은 Wants=
또는 Requires=
아래에 [Unit]
있습니다.
website.service
[Unit]
Wants=mongodb.service
After=mongodb.service
차이 Wants=
와 Requires=
함께이다 Requires=
시작하는 고장 b.service
의 시작이 발생할 a.service
가진 반면, 실패 Wants=
, a.service
하더라도 시작할 b.service
실패. 자세한 내용은 의 man 페이지.unit
에 설명되어 있습니다.
After=website.service
"website.service 후 내 유닛 실행!"을 의미합니다. 문서에서 설명하는 내용입니다. "After =는 나열된 장치가 시작된 후 구성된 장치가 시작되도록합니다" . "목록에있는 단위"는 "After ="의 오른쪽에있는 단위라고 가정합니다.
swap(a, b)