Start()、stop()、restart()などの必要な関数を含むシェルを作成しました
しかし、私のファイルは起動時に開始されません。
「ubuntu」でupdate-rc.dコマンドを使用して、このファイルを自動起動アプリケーションのリストに追加しました。そして、ブート時に正常に開始されました。
しかし、「openwrt」では、enable関数を見てきました。この有効化機能の使用方法を知っている人、または「openwrt」にupdate-rc.dのような同様のコマンドがありますか
ここにいくつかの参照がありました: http://wiki.openwrt.org/doc/techref/initscripts
/etc/init.d/-ディレクトリは自動的に読み込まれ、ブート機能またはSTART STOPを検索します。起動時に開始します。
boot() {
echo boot
# commands to run on boot
}
START-位置、次に開始
STOP-位置、次に停止
START=10
STOP=15
start() {
echo start
# commands to launch application
}
stop() {
echo stop
# commands to kill application
}
編集済み:
/etc/rc.commonディレクトリには、ブート時に起動するファイルがコンパイルされています。
関数を有効にします:/etc/init.d/your_script.sh enable
ここにブートに関する詳細情報があります http://wiki.openwrt.org/doc/techref/process.boot
スクリプトの最初の行が次のようになっていることを確認してください。
#!/bin/sh /etc/rc.common
スクリプトを/etc/init.d/
ディレクトリにコピーします
実行ビットがオンになっていることを確認してください
chmod +x /etc/init.d/<your script>
スクリプトを有効にする
/etc/init.d/<your script> enable
スクリプトの/etc/rc.d/
にシンボリックリンクが作成されます。
ls -lh /etc/rc.d | grep <your script>
Initスクリプトが有効になっていることを確認します。
/etc/init.d/<your script> enabled && echo on
このコマンドがon
を返す場合、これで準備は完了です。このコマンドが何も返さない場合、スクリプトは有効になっていません。有効になっているスクリプトの例を次に示します。
root@OpenWrt:~# /etc/init.d/system enabled && echo on
on
OpenWrt Chaos Calmer 15.05でこれらの手順をテストしましたが、以前のバージョンでも動作するはずです。幸運を!
システムの起動時(ブート直後)にのみコマンドを実行する必要がある場合:edit / etc/rc.localこれがファイルです。
デフォルトでは、コメントのみが含まれています(指定ドライバーですが、以前の一部のバージョンでも同様でした)。
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
ここにコマンドを追加できます。
私の例:
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
if grep -q '/dev/sdb2' /proc/swaps ; then swapoff /dev/sda2 ; fi
comgt -s /etc/config/init-script.comgt