openwrt创建procd守护进程注意事项
参考文章
1. https://blog.csdn.net/Creator_Ly/article/details/93594951
2. https://blog.csdn.net/weixin_34128839/article/details/89799257
注意事项:
1. start_service()中,procd_set_param command命令后面跟的命令要用双引号括起来,刚开始服务一直起不来,后来看了参考链接2的示例,加了引号,才能自启动了。
2. start_service()中,procd_set_param respawn命令表示:进程意外退出的重启机制及策略,它需要有 3 个设置值。第一个设置为判断异常失败边界值(threshold),默认为3600秒,如果小于这个时间退出,则会累加重新启动次数,如果大于这个临界值,则将重启次数置 0。第二个设置为重启延迟时间(timeout),将在多少秒后启动进程,默认为5秒。第三个设置是总的失败重启次数(retry),是进程永久退出之前的重新启动次数,超过这个次数进程退出之后将不会再启动。默认为 5 次。也可以不带任何设置,那这些设置都是默认值。
3. service_triggers()中, procd_add_reload_trigger命令后面只需要跟自己的配置文件的名称即可,不用加配置文件完整路径,服务自己会监听/etc/config/uci-file-name文件的变化。示例:procd_add_reload_trigger uci-file-name。
4. 虽然上面第3条增加了对配置文件的监听,但是本人亲测发现,在命令行通过uci命令修改配置文件并提交后,并没有触发相应的动作,通过cat /var/run/config.md5对比配置文件修改前后的MD5值发现,仅仅修改配置文件,配置文件的MD5值并没有变化,而procd_add_reload_trigger是根据配置文件的MD5值的改变来判断配置文件的改变的。通过阅读官方论坛发现,修改配置文件后,需要使用./sbin/reload_config命令来重新计算配置文件的MD5值,这样才能触发自己想要的动作。
- 点赞 2
- 收藏
- 分享
- 文章举报
- 包含别人的dll,然后我们用类库再次封装成dll的时候的注意事项;源文件与模块生成时的文件不同;创建调试信息文件 ··PDB时发生意外的错误,进程无法访问文件,因为另一个程序正在使用此文件
- Qt进程的创建及注意事项
- 创建进程注意事项等几则笔记
- 进程控制:linux中fork同时创建多个子进程注意事项
- Salesforce 进程生成器创建计划操作注意事项
- 创建进程注意事项等几则笔记
- 创建进程注意事项等几则笔记
- 创建子进程的4种方法及注意事项
- linux守护进程及其创建
- QT中PRO文件的简单说明(网络模块应用注意事项)
- openwrt 串口 开发 注意事项
- OpenWrt挂载U盘安装软件注意事项
- sourceIsight创建大量工程时的注意事项
- 创建Oracle job的一些注意事项
- Android进程和UI线程小结及注意事项
- supervisor用为golang后台创建守护进程 推荐
- Rabbitmq创建镜像队列时的注意事项
- java FileOutputStream流文件创建注意事项
- 创建守护进程的步骤
- 守护进程的创建过程