#[Unit]을 주석 처리하지 않으면 부팅 시 시스템 서비스 단위가 시작되지 않습니다.

#[Unit]을 주석 처리하지 않으면 부팅 시 시스템 서비스 단위가 시작되지 않습니다.

최신 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]됩니다 . 이러한 지시문을 제거하고 주석을 제거하면 동일한 동작이 발생합니다.RequiresAfter#

주석 없이 부팅 시 시작되지 않는 이유는 #다른 서비스의 요구 사항에 문제가 있기 때문일 것입니다.

관련 정보