web-dev-qa-db-ja.com

起動時に実行するようにサービスを構成するにはどうすればよいですか

serviceコマンドを使用して手動で起動すると、正常に動作するデーモンがあります。

ricardo@ricardo-laptop:~$ Sudo service minidlna start                   
 * Starting minidlna minidlna                                                              [ OK ] 

ただし、PCの再起動時に自動起動するようには設定されていません。

PCに誰もログインしていない場合でも、自動的に起動するように設定するにはどうすればよいですか?

242
Ricardo Reyes
Sudo update-rc.d minidlna defaults

これにより、サービスが自動起動システムに追加されます。しかし、あなたが得るなら:

System start/stop links for /etc/init.d/minidlna already exist.

コマンドを実行する

Sudo update-rc.d minidlna enable

P.S。:コマンドman update-rc.dを入力して、update-rc.dのmanページを詳しく見てください。

280
LassePoulsen
  • 起動時にデーモンを起動するには:

    update-rc.d service_name defaults
    
  • 削除する:

    update-rc.d -f service_name remove
    

デフォルト=>デフォルトの実行レベル2,3,4および5

例:

update-rc.d Tomcat7 defaults
34
Lakal Malimage

たとえば、ブートプロセスでiptables configを実行するなど、ブートプロセスでスクリプトを実行する必要がある場合があります。したがって、再起動するたびにスクリプトを手動で実行する必要はありません。

/etc/init.d/rc.localファイルに追加することで、Ubuntuのブートプロセスでスクリプトを実行できます。以下の手順をご覧ください。

  1. 次のコマンドで/etc/rc.localファイルを開きます。

    vim /etc/rc.local
    
  2. ブートプロセスで実行するスクリプトを追加します。たとえば、次のとおりです。

    sh /home/ivan/iptables.sh 
    echo 'Iptable Configured!'
    
  3. そのファイルに含まれているコメントを確認し、出口0が最後にあることを確認してください。

  4. ファイルを保存します。そして、スクリプトは起動プロセスで実行されます。

34
hhlp

Ubuntu 15.10(またはDebian 8 "jessie")以降では、次のコマンドを使用して、サービスminidlnaを起動時に実行するように構成する必要があります。

Sudo systemctl enable minidlna.service

そして、起動時に再び起動しないようにするには:

Sudo systemctl disable minidlna.service

これは、ls /lib/systemd/system/*.serviceで検索できるすべてのサービス名参照で機能します。

12
tanius