您的位置:首页 > 运维架构

openwrt创建procd守护进程注意事项

2020-01-15 08:29 1876 查看

参考文章

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
  • 收藏
  • 分享
  • 文章举报
ultra seven 发布了9 篇原创文章 · 获赞 8 · 访问量 3050 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: