나는 팔로우한다이것프로그램의 상태를 보고 싶을 때 init.d에 서비스로 프로그램을 추가하는 방법에 대한 튜토리얼입니다.
sudo status /etc/init.d/noip2
나는 얻다:
status: Unknown job: /etc/init.d/noip2
무슨 뜻인가요? 절차를 바꿔야 할까요?
절차는 다음과 같습니다.
#! /bin/sh
# /etc/init.d/noip2
# Supplied by no-ip.com
# Modified for Debian GNU/Linux by Eivind L. Rygge <[email protected]>
# Updated by David Courtney to not use pidfile 130130 for Debian stable.
# . /etc/rc.d/init.d/functions # uncomment/modify for your killproc
DAEMON=/usr/local/bin/noip2
NAME=noip2
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting dynamic address update: "
start-stop-daemon –start –exec $DAEMON
echo "noip2."
;;
stop)
echo -n "Shutting down dynamic address update:"
start-stop-daemon –stop –oknodo –retry 30 –exec $DAEMON
echo "noip2."
;;
restart)
echo -n "Restarting dynamic address update: "
start-stop-daemon –stop –oknodo –retry 30 –exec $DAEMON
start-stop-daemon –start –exec $DAEMON
echo "noip2."
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
답변1
귀하의 스크립트는 init.d
스크립트입니다. 이 status
명령은 Upstart 작업에 적용되며 스크립트에는 적용되지 않습니다 init.d
.
initctl list
모든 Upstart 위치를 나열하는 데 사용됩니다. 시도해 보면 noip2
존재하지 않는다는 것을 알게 될 것입니다. 실제로 /etc/init.d
이 명령은 어떤 스크립트도 표시하지 않는다는 것을 알 수 있습니다. initctl list
(및 status
시도한 명령)은 Upstart 구성 파일 에서만 작동합니다 /etc/init
(누락된 점 참고 )..d
스크립트 상태를 확인하는 명령은 /etc/init.d
일반적으로 다음과 같습니다.
# service <script> status
그러나 이것이 올바르게 작동하려면 스크립트가 특정 status
기능을 지원해야 하며 사용자의 스크립트는 해당 기능을 지원하지 않습니다.
스크립트에는 세 가지 옵션이 있습니다. start
즉 stop
, restart
이 세 가지 명령만 에 전달할 수 있습니다 service noip2 <cmd>
. 나머지 부분을 읽어보면 /etc/init.d
더 많은 옵션이 있다는 것을 알 수 있습니다 status
.
실제로 게시한 링크의 기사를 읽어보면 상태를 확인하는 방법은 다음과 같습니다 noip2
.
$ sudo /usr/local/bin/noip2 –S