시스템 단위 파일: 한 서비스 또는 다른 서비스에 의존하는 방법은 무엇입니까?

시스템 단위 파일: 한 서비스 또는 다른 서비스에 의존하는 방법은 무엇입니까?

= 서비스 A 또는 서비스 B가 필요한 단위 파일을 작성 중이지만 어느 것이든 상관하지 않습니다. 이것을 어떻게 지정하나요?

답변1

가장 간단한 방법은 A 또는 B에 대한 테스트를 추가하는 것입니다.ExecStartPre

[Unit]
Description=this unit needs A or B

[Service]
ExecStartPre=/bin/bash -c '/usr/bin/systemctl is-active --quiet A || /usr/bin/systemctl is-active --quiet B'
ExecStart=/the/actual/command

또 다른 접근 방식은 A 또는 B를 별도의 서비스 단위로 테스트하는 것입니다.

[Unit]
Description=this service is active if A or B are present

[Service]
[Unit]                                                                                                                                                                                                     
Description=test for A or B                                                                                                                                                                                
                                                                                                                                                                                                           
[Service]                                                                                                                                                                                                  
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/bash -c '/usr/bin/systemctl is-active --quiet A || /usr/bin/systemctl is-active --quiet B'

A_B_checker.service그런 다음 기본 서비스에 종속성을 추가합니다 .

관련 정보