myweb.service
다음 파일이 있습니다
[Unit]
Description=myweb - A simple hello world program
After=bluetooth.service
[Service]
Type=simple
User=root
ExecStart=/usr/bin/docker run -p 2222:4343 manikanth/webapp
Restart=on-failure
[Install]
#WantedBy=multi-user.target
특별히 비활성화 bluetooth.service
하고 확인했습니다. 그러나 서비스는 여전히 활성화되어 있습니다. 나는 이것이 때문일 것이라고 생각했기 WantedBy
때문에 내 의견입니다. 문제는 여전히 존재합니다
안하는 올바른 방법은 무엇인가요?키우다예를 들어 종속 서비스가 활성화되지 않으면 bluetooth.service
어떻게 되나요 ?
답변1
Requisite=
이 옵션과 이 옵션을 찾고 있을 수도 있습니다 After=
.
~에서매뉴얼 페이지
Requires=와 유사합니다. 그러나 여기에 나열된 셀이 아직 시작되지 않은 경우 시작되지 않으며 트랜잭션이 즉시 실패합니다.
Requires=
이 경우 작동하지 않는 것은 bluetooth.service
부팅할 때 시작 된다는 것입니다 myweb.service
. Requisite=
옵션이 시작을 시도하지 않지만 실패가 bluetooth.service
표시됩니다 myweb.service
.
답변2
myweb.service
내 기억이 맞다면 시작 시에만 활성화하고, bluetooth.service
그렇지 않으면 myweb.serbice
. 이것이 맞다면 아래 답변을 읽어보시고, 그렇지 않다면 정정해주세요!
Requires
당신 은 정말로 After
. 유닛 파일 간의 종속성을 정렬하는 하이브만 사용 After
하지만 Requires
종속 유닛이 실패하면 역시 실패하도록 보장합니다. 따라서 Requires=bluetooth.service
추가 myweb.service
하고systemctl daemon-reload