起動時にLinuxプログラムが実行されない

起動時にLinuxプログラムが実行されない

いくつかのスクリプトがあります。collection.sh start.sh script1.shそしてscript2.sh起動時に実行するように設定しました。

  • collection.sh着信電話start.sh
  • start.sh両方ともscript?.sh

コレクションは次のように構成されます。

$ cp collection.sh /etc/init.d/
$ update-rc.d collection.sh defaults 99

collection.shを手動で実行すると(たとえば$ . /etc/init.d/collection.sh)、すべてが期待どおりに実行されますが、コンピュータを再起動または完全にシャットダウンして起動すると、collection.shは実行されますが、start.shは実行されません。

これを明確にするために、各スクリプトの例は次のとおりです。

  • collection.sh:

    . /path/to/start.sh &
    
  • start.sh:

    ./script1.sh &
    ./script2.sh &
    
  • script1.sh/script2.sh:

    while :
    do
        #does some stuff here
        #yes this is an infinite loop
    done
    

印刷ステートメントが開始されることが確認されましたがcollection.sh(実際には2回)start.sh開始されません。

ps aux | grep collection.sh実際に使用がcollection.sh完了したことも確認しました。

ベストアンサー1

パスに問題がある可能性があります。

start.shでPATHを変更するか、start.shのフルパスを使用してscript[12].shを起動します。

どのディストリビューションを使用しているかについて言及していません(すべてのディストリビューションは少し異なります)。大きなハンマーアプローチは、時々/etc/rc.localに行を置くことです。

おすすめ記事