Openwrt启动项修改为procd管理

原进程启动方式,通过/etc/ini.d/hostapd启动。

启动脚本:

因为这种启动方式的进程,是作为Daemon进程常驻后台,如果出现挂死,则也不会被重启。

为了解决这个问题,计划将这个启动方式调整为procd管理。

对于上面的调整,主要说明一下修改:

  1. 添加 USE_PROCD=1 ,将进程启动方式调整为PROCD

  2. procd方式创建服务,通过command命令启动时,删除了 -B(daemon)。

    测试中发现添加该参数,会导致出现启动多个进程。(测试中发现有5个)。

    同时,添加该参数后,手动kill掉进程后,无重启操作。

    猜测原因: 作为后台daemon进程时,脱离了procd的管理。所以无法生效。

  3. 设置了core文件生成名称。

  4. 修改过程中,因为添加了PROCD管理启动,测试了是否影响了启动顺序。

    经过验证,对启动时间无影响,均为procd启动,只是之前的启动方式不会由procd来管理。后面的启动方式是通过procd管理的。

注意事项

? 今天在测试procd重启进程时,发现重启5次之后,第6次进程被kill掉是没有重启的。

? 查看了资料,设置respawn时,有参数配置这个重启次数,默认是5次。如果没有配置,那就是按照默认值处理。

? 这也就是我这边重启5次之后procd再没有重启的原因。

参考资料

10-Openwrt procd守护进程: https://www.jianshu.com/p/acd2ccb5ea8d
OpenWrt开发:25—软件模块之procd: https://blog.csdn.net/qq_41453285/article/details/102622557
openwrt监控程序(守护进程): https://www.cnblogs.com/cxt-janson/p/13084128.html
OpenWrt的开机启动服务(init scripts): https://www.cnblogs.com/milton/p/6345621.html
OpenWrt开发:17—软件启动机制: https://blog.csdn.net/qq_41453285/article/details/102545624
openwrt创建procd守护进程注意事项: https://blog.csdn.net/kakabuqinuo/article/details/98200884

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月19日
下一篇 2020年9月19日

相关推荐