对于Linux系统添加自启动供能,想必大家都是耳熟能详,一般是把需要启动的脚本或者程序添加到 /etc/rc.d/rc.local 文件里就好了,但是在这里你错了,openwrt并不是这么实现的。而是通过另外一种方式,采用存放在/etc/init.d目录下的脚本连接到/etc/rc.d目录下,并且这个脚本需要遵循一定的规则。举例如下:
1、vi /etc/init.d/mystart
2、输入以下内容
#!/bin/sh /etc/rc.common
# Example script
START=10
STOP=15
start() {
echo start
# commands to launch application
}
stop() {
echo stop
# commands to kill application
}
3、 然后保存,退出
4、获取执行权限及映射
cd /etc
chmod -R 777 init.d/mystart #设置权限,否则无法激活开机启动,提示权限不足
/etc/init.d/mystart enable #激活开机启动
/etc/init.d/mystart start #运行start函数启动程序
5、脚本说明
第一行#! 使用 /bin/sh /etc/rc.common 作为脚本解释器并在执行脚本前调用 main 和检查脚本。本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。
公用的 init script 方法:
start # 启动服务
stop # 停止服务
restart # 重启服务
reload # 重新载入配置文件, 如果失败则重启
enable # 启用开机自启动
disable # 禁用开机自启动
脚本中 start() 和 stop() 是必须的
START= 和 STOP= 决定脚本启动时的次序. 启动时init.d会根据文件名顺序, 自动执行在/etc/rc.d中找到的脚本. 初始化脚本可以作为/etc/init.d/下文件的软链放置在/etc/rc.d/. enable 和 disable 可以自动帮你创建对应的带序号的软链.