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

Posted

技术标签:

【中文标题】如何在openwrt中自动启动应用程序?【英文标题】:How to auto start an application in openwrt? 【发布时间】:2016-01-25 06:02:49 【问题描述】:

我创建了一个具有必要功能的外壳,例如 开始() 停止() 重启()

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

我已在“ubuntu”中使用 update-rc.d 命令将此文件添加到自动启动应用程序列表中。并且在开机的时候就成功启动了。

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

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

【问题讨论】:

本题与C语言无关,去掉c标签。 我的错误...已删除.. 【参考方案1】:

    确保脚本的第一行是:

    #!/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>
    

    确认您的初始化脚本已启用:

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

    如果这个命令返回on,那么你就准备好了。如果此命令未返回任何内容,则说明您的脚本未启用。下面是一个启用的脚本示例:

    root@OpenWrt:~# /etc/init.d/system enabled && echo on
    on
    

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

【讨论】:

这是黄金。我现在已经多次回到这个答案。 :)【参考方案2】:

/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的信息

【讨论】:

感谢您的回复,但链接中的内容与问题相同。我试过了..但不工作【参考方案3】:

如果您只需要在系统启动时(刚启动后)运行您的命令: 编辑 /etc/rc.local 这是您的文件。

默认情况下它只包含 cmets(指定驱动程序,但在一些早期版本中也是如此):

# 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

【讨论】:

以上是关于如何在openwrt中自动启动应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何编译openwrt的u-boot

【求助】openwrt如何实时自动挂载U盘?

openwrt不能自启插件原因

openwrt如何添加自己的服务脚本

openwrt pppoe掉线怎样自动重连

openwrt替换ubootdts