使用 system-d:我有 2 个服务(服务 A 和服务 B)。服务 B 需要服务 A 始终运行。如果服务 A 崩溃或停止,服务 B 也应立即停止,直到服务 A 恢复(此时服务 B 应自动重新启动)。是否有可以放入 system.d 单元文件中的指令来强制这种类型的关系?
用例示例:
#1 Nginx 和 mariaDB
Nginx 始终需要 maria 处于运行状态。我不希望客户访问没有数据库后端的 Web 服务器。如果 maria 崩溃,我希望 nginx 立即关闭。如果服务恢复到 maria,我希望 nginx 恢复运行,而无需手动重新启动 nginx 进程。因此,如果 maria 偶尔出现暂时中断,nginx 不会处理错误请求,而只是让集群中的其他节点处理 Web 请求。
#2 Openvpn 和网络爬虫
Web 爬虫服务依赖于 open vpn。如果 webcrawler 在没有 vpn 运行的情况下运行,那就太糟糕了。如果 openvpn 客户端服务停止,我希望 webcrawler 也能自动停止。如果 openvpn 恢复,我希望 webcrawler 能够重新开始工作,而无需手动启动。