Systemd: 실패가 발생하더라도 필수By 종속성이 트리거됩니다.

Systemd: 실패가 발생하더라도 필수By 종속성이 트리거됩니다.

test-dl.service test-db.service첫 번째 서비스가 성공할 때만 순차적으로 실행되어야 하는 2개의 시스템 서비스가 있습니다 .

나는 사용하고있다

  • After두 서비스 간의 순차적 순서를 설정하는 옵션입니다 .
  • RequiredBydl 서비스 성공 시 db 서비스를 트리거하는 옵션입니다 .

RequiresBy/Requires 문서에는 "이 장치가 활성화되면 나열된 장치도 활성화됩니다. 다른 장치 중 하나가 활성화되지 않고 실패한 장치에 대한 주문 종속성 After=가 설정된 경우 이 장치는 활성화되지 않습니다. 시작했어."

그러나 첫 번째 서비스가 실패하더라도 두 번째 서비스가 시작되는 것을 관찰했습니다.

test-dl.service실패하는 코드와 test-db.service예기치 않게 트리거되는 코드 조각입니다 .

테스트-DL.서비스

[Unit]
Description=The downloader.
After=network-online.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'sleep 10 ; exit 5'

테스트-db.service

[Unit]
Description=The parser.
After=test-dl.service

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'exit 0'

[Install]
RequiredBy=test-dl.service

도움을 주셔서 감사합니다

관련 정보