데비안에서 서비스 시작을 지연하는 방법은 무엇입니까?

데비안에서 서비스 시작을 지연하는 방법은 무엇입니까?

그래서 정확하게 말하면 라즈베리파이2에서 "deluge-daemon"의 시작을 지연시키려고 합니다. 어쨌든 USB(NTFS)는 X 서버가 시작된 후에만 자동 마운트되며(저는 Raspbian에서 기본 자동 마운트를 사용하고 있습니다)(X 서버가 필요하지도 않지만) Deluge가 USB 마운트보다 일찍 시작되는 것 같습니다. USB가 아직 마운트되지 않았으므로 권한 문제가 있으며 제대로 작동하려면 Deluge를 다시 시작해야 합니다...

그래서 우선순위를 낮추고 런레벨 5에서만 실행해 보았습니다.

sudo update-rc.d deluge-daemon start 20 5 . stop 80 0 1 6 .

이것은 도움이 되지 않습니다. deluge-daemon 시작 스크립트 편집을 시도하고 추가했습니다.

sleep 1m

시작 스크립트의 경우. 그런 다음 USB를 마운트한 후 작동하고 설치하지만 문제는 이제 deluge-daemon 서비스를 시작하려고 할 때마다 속도가 느려지므로 프로세스를 중지하고 시작하기로 결정할 때마다 1분 정도 걸립니다. 수동.. .

어떤 도움이라도 대단히 감사하겠습니다. 일반 시작 스크립트에 영향을 주지 않고 시작을 지연시키는 방법이 있어야 합니다...

답변1

잠자리에 들기 전에 USB가 장착되었는지 확인할 수 있습니다. 예를 들어:

mount | grep -q /path/to/USB/stick/mountpoint || sleep 1m

USB 스틱이 설치되지 않은 경우에만 1분 동안 절전 모드로 전환됩니다.

답변2

네가 말할 때:

그래서 우선순위를 낮추고 런레벨 5에서만 실행해 보았습니다.

시작 번호를 낮추지 않았으면 좋겠는데... 그렇게 되면반대로!

숫자가 낮을수록 서비스가 더 일찍 시작됩니다. rc순서대로 실행될 항목 /etc/rcS.d/, 실행될 항목 /etc/rc?.d( ?현재 실행 수준), 폴더의 내용은 시작 스크립트 /etc/rc*형식의 서비스 initscript에 대한 심볼릭 링크입니다 ( S??service_name여기서 "start" 매개변수는 실행) 또는 스크립트를 중지( "stop" 매개변수로 실행됨)하는 데 rc사용됩니다 .K??service_namerc

합계에서는 S??실행 위치 K????첫 번째가 00, 마지막이 99 이다. 두 개 이상의 스크립트가 동일한 번호를 가질 경우 서비스 이름을 기준으로 알파벳순으로 실행됩니다.

그렇게 말하고 달리면

sudo uptate-rc.d deluge-daemon start 99 5 . stop 80 0 1 6 .

또는 런레벨 5에서 ​​시작되는 마지막(또는 마지막) 서비스가 될 deluxe-daemon 으로 rc심볼릭 링크 이름을 바꾸십시오 . 심볼릭 링크의 이름을 로 바꾸면 시작 시 마지막으로 실행될 가능성이 높아집니다./etc/rc5.d/S??deluge-daemon/etc/rc5.d/S99deluge-daemonS99Zdeluge-daemon

물론 이 절차를 사용하여 가능하면 이 deluge-daemon에 필요한 서비스를 가능한 한 빨리 시작할 수 있습니다.

관련 정보