私は this チュートリアルに従って、プログラムをサービスとして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
スクリプトはinit.d
スクリプトです。 status
コマンドはUpstartジョブ用です。 init.d
スクリプト用ではありません。
initctl list
は、すべてのUpstartジョブをリストするために使用されます。試してみると、noip2
がないことがわかります。実際、/etc/init.d
のスクリプトはいずれもそのコマンドで表示されないことがわかります。 initctl list
(および試行したstatus
コマンド)は、/etc/init
(.d
がないことに注意)のUpstart構成ファイルでのみ機能します。
/etc/init.d
からスクリプトのステータスを確認するコマンドは通常、次のとおりです。
# service <script> status
ただし、それが機能するためには、スクリプトがstatus
関数をサポートしている必要があります。
スクリプトには3つのオプションがあります:start
、stop
およびrestart
つまり、これらはservice noip2 <cmd>
に渡すことができる3つのコマンドだけです。 /etc/init.d
内で他の人を読んだ場合、status
などのオプションが他にもあることがわかります。
実際、投稿したリンクの記事を読んだ場合、noip2
のステータスを確認する方法は次のとおりです。
$ Sudo /usr/local/bin/noip2 –S