web-dev-qa-db-ja.com

起動後にbusyboxを使用してプログラムを自動実行する方法は?

私はbusyboxで組み込みLinuxを使用しています。 「myApplication」というアプリを自動的に実行したいと思います(起動後、ランレベル5ですべてのサービスが起動しています)。

これまでに行ったこと:

  • /etc/init.d/の下にS90myscriptというスクリプトを作成しました
  • 次に、この行をinittabに追加しました。

::sysinit:/etc/init.d/S90myscript

スクリプトには以下が含まれます。

! /bin/sh
### BEGIN INIT INFO
# Provides: myApplication
# Should-Start: $all
# Required-Start: $remote_fs $network $local_fs
# Required-Stop: $remote_fs
# Default-Start: 5
# Default-Stop: 0 6
# Short-Description: start myprogram at boot time
### END INIT INFO
#

set -e

. /lib/lsb/init-functions
PATH=/root:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin
PROGRAMNAME="myApplication"
case "$1" in
start)
$PROGRAMNAME
;;
stop)
skill $PROGRAMNAME
;;
esac
exit 0

何か不足していますか?シンボリックリンク?私が間違ったことは何ですか?

前もって感謝します

2
AJ GS

解決策を見つけました。

  1. myApplication/usr/sbin/に配置しました
  2. /etc/init.d/S99myAppScriptにあるスクリプトへのmyAppという名前のシンボリックリンクを作成しました(.shがなく、このスクリプトでSudo chmod 755を実行する必要があったことに注意してください)
  3. コマンドrcSの直前の/etc/init.d/にあるdoneファイルの最後に次の行を追加しました:

    myApp &
    

システムを再起動すると、myApplicationが自動実行されます。

1
AJ GS