在 ubuntu 16 中替换 upstart 的状态命令

replacing status command of upstart in ubuntu 16

在实施 puma 时,我已将 ubuntu 版本从 14.04 更新到 16.04。

之前的服务是基于upstart,基本上workerssidekiq都是用upstart起家的。但是,当我尝试部署实际代码时出现问题。

在部署期间,之前的代码通过如下代码检查了工作人员的状态。

if capture('status workers') =~ /start/

我没有在 ubuntu 16.04 中安装 upstart,因此此时部署失败。无论如何,我可以在 ubuntu 16.04 中替换从 upstart 驱动的此类命令吗?

此外,上面显示的 Kernel.capture 也是已弃用的代码。这些有没有替代品,请告诉我。

您应该在 Ubuntu 16.04 中使用 systemd 实用程序:

不使用 Kernel.capture,而是使用 Ruby Open3 方法 - 有一个 good article on them.