如何在openwrt中自动启动应用程序?

run*_*ner 8 shell openwrt autostart

我创建了一个包含必要函数的shell,例如start()stop()restart()

但是我的文件在启动时没有开始.

我在"ubuntu"中使用了update-rc.d命令将此文件添加到自动启动应用程序列表中.它在启动时成功启动.

但在"openwrt"中我看到了一个启用功能.任何人都知道如何使用这个启用函数,或者在"openwrt"中是否有类似update-rc.d的命令

我在这里有一些参考:http://wiki.openwrt.org/doc/techref/initscripts

小智 18

  1. 确保脚本的第一行显示:

    #!/bin/sh /etc/rc.common
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将脚本复制到/etc/init.d/目录

  3. 确保执行位已打开

    chmod +x /etc/init.d/<your script>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 启用您的脚本

    /etc/init.d/<your script> enable
    
    Run Code Online (Sandbox Code Playgroud)

    你的脚本现在应该有一个符号链接 /etc/rc.d/

    ls -lh /etc/rc.d | grep <your script>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 确认您的init脚本已启用:

    /etc/init.d/<your script> enabled && echo on
    
    Run Code Online (Sandbox Code Playgroud)

    如果此命令返回on,则表示您已完成设置.如果此命令未返回任何内容,则表示您的脚本未启用.以下是启用的脚本示例:

    root@OpenWrt:~# /etc/init.d/system enabled && echo on
    on
    
    Run Code Online (Sandbox Code Playgroud)

我已经在OpenWrt Chaos Calmer 15.05上测试了这些步骤,但它应该适用于早期版本.祝好运!


Nop*_*lem 6

/etc/init.d/ - 目录将被自动读取并搜索引导功能或START STOP。在启动时启动。

boot() {
        echo boot
        # commands to run on boot
}
Run Code Online (Sandbox Code Playgroud)

START-定位然后开始

STOP-定位然后停止

START=10 
STOP=15

start() {        
        echo start
        # commands to launch application
}                 

stop() {          
        echo stop
        # commands to kill application 
}
Run Code Online (Sandbox Code Playgroud)

编辑:

在 /etc/rc.common 目录中,文件被编译为将在启动时启动的人。

启用您的功能:/etc/init.d/your_script.sh enable

在这里您可以找到有关启动的更多信息http://wiki.openwrt.org/doc/techref/process.boot