최신 Arch Linux ARMv7(RaspPi 3)을 실행합니다. 두 개의 시스템 서비스 단위를 만들었습니다. foo
먼저 시작하고 나중에 시작하고 싶습니다 bar
. foo
부팅 시 시작되지만 bar
시작되지 않습니다. 그러나 bar
쉘 프롬프트에서 수동으로 시작됩니다. 다음은 유닛 파일의 복사본입니다 bar
.
[Unit]
Requires=foo.service
After=foo.service
[Service]
Type=simple
ExecStart=/usr/bin/setsid /usr/bin/bar >/dev/null 2>&1 < /dev/null
TimeoutSec=0
RemainAfterExit=Yes
[Install]
WantedBy=getty.target
그러나 다음과 같이 앞에 파운드 기호를 넣으면 다음과 같습니다 [Unit]
.
#[Unit]
그런 다음 bar
부팅 시 올바른 순서로 시작합니다(그 이후 foo
).
이 동작과 의견은 [Unit]
이치에 맞지 않는 것 같으며 제가 찾은 문서에도 맞지 않습니다. 그렇다면 부팅 시 장치가 시작되는 이유가 무엇인지 궁금합니다. !
답변1
주석 처리하면 및 지시어가 무시 [Unit]
됩니다 . 이러한 지시문을 제거하고 주석을 제거하면 동일한 동작이 발생합니다.Requires
After
#
주석 없이 부팅 시 시작되지 않는 이유는 #
다른 서비스의 요구 사항에 문제가 있기 때문일 것입니다.