맞춤형 시스템 서비스 주문

맞춤형 시스템 서비스 주문

두 개 이상의 사용자 정의 시스템 서비스를 생성할 때 해당 서비스가 어떤 순서로 실행되는지 어떻게 알 수 있습니까? 이 명령은 반드시 이루어질까요?

내가 뭐하는 거지유형=유휴이것은 의미해야합니다

유휴 동작은 단순 동작과 매우 유사하지만 모든 활성 작업이 예약될 때까지 서비스 프로그램의 실제 실행이 지연됩니다. 이는 셸 서비스의 출력이 콘솔의 상태 출력과 인터리빙되는 것을 방지하는 데 사용할 수 있습니다. 이 유형은 콘솔 출력을 향상시키는 데에만 사용되며 일반 장치 정렬 도구로는 유용하지 않습니다. 이 서비스 유형의 효과는 어쨌든 서비스 루틴이 호출된 후 5초의 시간 제한에 의해 영향을 받습니다.

아래는 내꺼야/etc/systemd/system/myservice1.service

#!/bin/bash

[Unit]
Description=my service
After=default.target

[Service]
Type=idle
ExecStart=/root/my_service1.sh
TimeoutStartSec=0

[Install]
WantedBy=default.target

그럼 난 할게

{ create /root/my_service.sh }

chmod 700 /root/my_service1.sh

systemctl daemon-reload

systemctl enable my_service1

유휴 유형 서비스를 많이 만드는 경우 이러한 서비스가 어떤 순서로 실행되는지 어떻게 알 수 있나요? 시스템이 완전히 부팅되고 모든 부팅 관련 작업이 완료된 후에만 이러한 일이 발생하기를 원합니다.

그런 다음 일부 사용자 정의 작업을 수행할 계획입니다 do_this.service. do_that.service아직 모든 이름을 어떻게 지을지 결정하지 못했습니다.

답변1

서비스 섹션 에 포함된 Before및 속성을 사용하면 서로 다른 서비스 간에 순서를 지정할 수 있습니다.After[Unit]체계서비스와 "기본" 대상뿐만 아니라 서비스(예:여기더 많은 정보를 알고 싶다면).

그러니 원한다면myservice1.service전에 시작하다myservice2.service, 추가하는 것으로 충분합니다

Before=myservice2.service

귀하의 서비스 정의 파일에 그리고 합리적으로

After=myservice1.service

그것에myservice2.service.

관련 정보