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

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

2개의 시스템 서비스가 있고 test-dl.service test-db.service첫 번째 서비스가 성공한 경우에만 순서대로 실행해야 합니다.

나는 그것을 사용하고 있다

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

requireBy/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'

테스트 데이터베이스 서비스

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

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

[Install]
RequiredBy=test-dl.service

당신의 도움을 주셔서 감사합니다

관련 정보