2개의 시스템 서비스가 있고 test-dl.service
test-db.service
첫 번째 서비스가 성공한 경우에만 순서대로 실행해야 합니다.
나는 그것을 사용하고 있다
After
두 서비스 간의 순서를 설정하는 옵션입니다.RequiredBy
dl 서비스 성공 시 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
당신의 도움을 주셔서 감사합니다