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

时间:2015-10-26 07:37:29

标签: shell openwrt autostart

我创建了一个包含必要功能的shell     开始()     停()     重新启动()

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

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

但是" openwrt"我见过启用功能。任何人都知道如何使用此启用功能,或者在#34; openwrt"

中有任何类似的命令,如 update-rc.d

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

3 个答案:

答案 0 :(得分:13)

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

    #!/bin/sh /etc/rc.common
    
  2. 将脚本复制到/etc/init.d/目录

  3. 确保执行位开启

    chmod +x /etc/init.d/<your script>
    
  4. 启用您的脚本

    /etc/init.d/<your script> enable
    

    您的脚本现在应该在/etc/rc.d/

    中有一个符号链接
    ls -lh /etc/rc.d | grep <your script>
    
  5. 确认您的init脚本已启用:

    /etc/init.d/<your script> enabled && echo on
    

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

    root@OpenWrt:~# /etc/init.d/system enabled && echo on
    on
    
  6. 我已经在OpenWrt Chaos Calmer 15.05上测试了这些步骤,但它应该适用于早期版本。祝你好运!

答案 1 :(得分:4)

/etc/init.d/ - 目录将通过自动重新启动并搜索启动功能或START STOP。 从启动时开始。

boot() {
        echo boot
        # commands to run on boot
}

START-Position然后开始

STOP-Position然后停止

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

的更多信息

答案 2 :(得分:1)

如果只需要在系统启动时(刚开机后)运行命令: 编辑您的文件 /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