BusyBox runit 服务管理与日志记录全解析
1. 构建镜像与服务监督基础
在构建 Acme SuperGizmo 的开发和制造镜像时,步骤的差异仅在于 defconfig 的选择。有三种 defconfig ,它们几乎相同,仅最后一行不同,分别为 BR2_PACKAGE_DEVELOPMENT=y 、 BR2_PACKAGE_PRODUCTION=y 或 BR2_PACKAGE_MANUFACTURING=y ,具体取决于所选的镜像。这三个顶级包是互斥的,所以在同一个镜像中不要选择多个顶级包,否则可能会遇到意外结果。
当我们在 /etc/sv 下创建带有运行脚本的服务目录,并确保 BusyBox init 启动 runsvdir 后,BusyBox runit 会处理其余的工作,包括启动、停止、监控和重启其控制下的所有服务。 runsvdir 实用程序会为每个服务目录启动一个 runsv 进程,如果该进程终止,它会重新启动。由于运行脚本在前台运行各自的守护进程, runsv 期望 run 阻塞,这样当 run 退出时, runsv 会自动重启它。
在系统启动期间,服务自动重启是很有必要的,因为运行脚本可能会崩溃。在 BusyBox runit 中,服务几乎是同时启动而不是依次启动,这一点
超级会员免费看
订阅专栏 解锁全文
74

被折叠的 条评论
为什么被折叠?



