Openwrt设置开启自启动

详情见:官方文档

以application为例

1.在/etc/init.d/下编写service脚本
#!/bin/sh /etc/rc.common
START=99
STOP=15
 
start() {
  echo start
  #commands to launch application, such as above
  application &
}
 
stop() {
  echo stop
  #commands to kill application
  killall application
}

这个脚本由sh来解释,/etc/rc.common做包装器,提供一些默认的命令。START=99,STOP=15指的是开机自启动的优先级,数字越大优先级越低,开机时优先级高的程序会先启动。

如果启动在boot期间,可以实现boot方法

rc.common模板,init脚本可用的命令有:

/etc/init.d/application start 		#启动脚本
/etc/init.d/application stop  		#停止服务
/etc/init.d/application restart 	#重启服务
/etc/init.d/application reload 		#重新加载配置文件,如果失败,重启服务
/etc/init.d/application enable 		#开启开机自启动
/etc/init.d/application disable  	#关闭开机自启动
2.添加权限

chmod +x /etc/init.d/application

3.开机启动

/etc/init.d/application enable

### 配置 OpenWRT 软件实现开机自启动 为了使应用程序能够在OpenWRT设备上随系统启动而自动运行,需遵循特定的方法来创建并配置相应的初始化脚本。 #### 创建启动脚本 在`/etc/init.d/`目录下新建一个用于控制应用生命周期的Shell脚本文件。此脚本应采用Procd框架编写以兼容OpenWRT环境下的进程管理机制[^3]。下面是一个简单的模板: ```bash #!/bin/sh /etc/rc.common USE_PROCD=1 START=90 STOP=10 start_service() { procd_open_instance procd_set_param command "/path/to/application" procd_close_instance } ``` 上述代码片段展示了如何构建一个基本的服务启动器,其中设置了服务优先级(`START`)以及停止顺序(`STOP`)参数;通过调用procd接口完成实际命令执行逻辑封装。 #### 启用与禁用服务 一旦完成了启动脚本的撰写工作之后,则需要将其链接至`/etc/rc.d/`路径以便于被识别为有效的开机加载项之一。这一步骤可通过内置工具`enable`和`disable`操作轻松达成: - 若要激活某项服务使之成为默认开启状态,在终端输入如下指令即可:`/etc/init.d/<script_name> enable` - 反之如果希望移除某个已存在的自启项目,则可以利用相应名称替换掉占位符后加上`disable`关键字来进行处理。 当成功添加了一个新的后台守护进程以后,记得重启路由器让更改生效或者手动触发一次即时性的加载过程(`/etc/init.d/<script_name> start`)。 #### 编译集成(针对源码开发) 对于那些正在参与固件定制工作的开发者而言,还可以考虑直接将自制的应用程序加入到官方buildroot体系当中去。具体做法涉及修改package定义部分的内容,并按照既定流程编译整个镜像包[^4]。这样做不仅能够简化部署环节中的诸多琐事,而且有助于保持系统的整洁性和一致性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值