Systemd 与 Runit 兼容吗?

Posted

技术标签:

【中文标题】Systemd 与 Runit 兼容吗?【英文标题】:Is Systemd compatible with Runit? 【发布时间】:2019-06-25 10:57:43 【问题描述】:

我有一个基于 Systemd 的生产环境和一个基于 Runit 的测试环境(由于某种原因,我无法更改它)。我的问题是,每当我创建服务时,我都需要 Systemd 和 Runit 版本来复制编码和测试工作。有没有办法让我的 systemd 生产服务以某种方式在测试环境中与 Runit 一起工作?例如,我知道 Systemd 与 Upstart 和 SysV 兼容,所以如果我为它们提供两个服务,我可以在 Systemd 上使用它们。我想知道 Runit 和 Systemd 之间是否也可以这样。如果可以,我该怎么做?

【问题讨论】:

【参考方案1】:

在 systemd 下使用 runit 的服务管理套件非常容易。如果您使用的是 Debian 或基于 Arch 的系统,您需要做的就是安装 runit-systemd 软件包。所做的是安装 runit 的进程监控套件,设置一个空的服务目录,并安装一个简单的 systemd 服务单元,在该目录上执行 runsvdir。

但是,由于 systemd 有意将进程监督设计为 PID 1 的一部分,因此目前无法在其他 init 系统(如 runit)下运行 systemd 的服务管理。

【讨论】:

以上是关于Systemd 与 Runit 兼容吗?的主要内容,如果未能解决你的问题,请参考以下文章

[svc]centos7的服务治理-systemd

systemd初始化进程(转)

Ubuntu 18.04 rc.local systemd设置

如何在Debian上使用systemd管理系统

centos7 中 systemd systemctl管理服务的命令

(转)systemctl 命令完全指南