나는 같은 질문을했고 다른 대답을 찾았습니다 . 저자 목록 4 옵션은이를 달성하기 위해 그 중 내가 가장 처음처럼 :
initclt emit myservice-started
종속 서비스 시작이 완료되었음을 알리는 데 사용하십시오 . 링크 된 답변에서 종속성 서비스 init.d
스크립트 의 끝에이 줄을 추가 하는 것이 좋지만 다른 방법을 선호합니다. 섹션 만 포함 된 새 inid.d
스크립트 를 작성하고 싶습니다 . 파일 헤더에 적절한 주석 스타일을 사용하여 시작 에 따라 다릅니다 . 이 섹션 에서는 시작 에 대해 upstart를 알려줍니다 . 로 설치할 수 있습니다 .myservice-started
start
$myservice
start
myservice
update-rc.d
나는이 솔루션이 방해가되지 않기 때문에 좋아한다. 업데이트가 기존 init.d
스크립트를 변경해도 이러한 추가 스크립트에는 영향을 미치지 않습니다. 하지만 당신의 신출내기 스크립트에 대한 변경이 기억 되는 이 필요합니다.
다음과 같이 보일 수 있습니다 :
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: myservice-started
# Required-Start: $myservice
# Default-Start: 2 3 4 5
# Short-Description: send upstart signal after starting myservice
# Description: myservice needs to run before some upstart services can run
### END INIT INFO
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Signaling myservice started..." "myservice-started"
initctl emit myservice-started --no-wait
;;
*)
log_action_msg "Usage: /etc/init.d/myservice-started start"
exit 1
;;
esac
exit 0
myservice를 기다리는 upstart 스크립트는 다음 myservice-started
이벤트를 수신 할 수 있습니다 .
start on myservice-started