サービス状態が不明な作業であるのはなぜですか?

サービス状態が不明な作業であるのはなぜですか?

フォローするこれプログラムの状態を見たいときに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必要があり、ユーザーのスクリプトはその機能をサポートしません。

スクリプトには3つのオプションがあります。startつまりstoprestartこれら3つのコマンドのみに渡すことができますservice noip2 <cmd>。残りの部分を読むと、/etc/init.dより多くのオプションがあることがわかりますstatus

実際に投稿したリンクの記事を読んで、ステータスを確認する方法は次のとおりですnoip2

$ sudo /usr/local/bin/noip2 –S

おすすめ記事