run*_*ner 8 shell openwrt autostart
我创建了一个包含必要函数的shell,例如start()stop()restart()
但是我的文件在启动时没有开始.
我在"ubuntu"中使用了update-rc.d命令将此文件添加到自动启动应用程序列表中.它在启动时成功启动.
但在"openwrt"中我看到了一个启用功能.任何人都知道如何使用这个启用函数,或者在"openwrt"中是否有类似update-rc.d的命令
小智 18
确保脚本的第一行显示:
#!/bin/sh /etc/rc.common
Run Code Online (Sandbox Code Playgroud)将脚本复制到/etc/init.d/目录
确保执行位已打开
chmod +x /etc/init.d/<your script>
Run Code Online (Sandbox Code Playgroud)启用您的脚本
/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)确认您的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上测试了这些步骤,但它应该适用于早期版本.祝好运!
/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