initclt が Ubuntu 12 64 ビットで init スクリプトを認識しない

initclt が Ubuntu 12 64 ビットで init スクリプトを認識しない

私は LSB 形式の init スクリプトを作成し、それを /etc/init.d ディレクトリにコピーしました。サービスを手動で開始、停止、ステータスすることができ、すべて正常に動作します。次に、実行レベルでサービスを自動的に停止/開始するように設定してみます。

update-rc.d service defaults

次のような警告が表示されます:

update-rc.d: 警告: xxx 開始ランレベル引数 (なし) が lsb のデフォルトの開始値 (3 4 5) と一致しません。

そして「initctl list」ではサービスが表示されません。このサービスを正しく登録または表示するために必要な手順はありますか? (RedHat では「chkconfig --add xxx」であることは知っていますが)、Ubuntu についてはよく知りません。

答え1

initctlUubuntu の upstart メカニズムの一部です。upstart initctl list-jobs のステータスのみを表示します。スクリプトは確かに SysV init スクリプトです。

SysV init スクリプトのステータスを一覧表示するには、次のコマンドを使用します。

service --status-all

あなたのサービスがそこにリストされているはずです。


フォルダー内にリンクを作成するには、/etc/rcN次のコマンドを使用します。

update-rc.d your_init_script defaults

のマニュアルページからupdate-rc.d:

defaults が使用される場合、update-rc.d は、ランレベル 2345 でサービスを開始し、ランレベル 016 でサービスを停止するためのリンクを作成します。

関連情報