runit 没有启动服务

runit 没有启动服务

runit-2.1.2在我的 Ubuntu 盒子上安装了,

而且,我创建了streaming如下非常简单的服务,

mkdir -p /etc/sv/streaming/
echo 'echo "streaming" >> /var/log/streaming.log' > /etc/sv/streaming/run

然后,创建符号链接到/etc/service/streaming

ln -s /etc/sv/streaming /etc/service/streaming

正如我下面看到的,符号链接已创建,

root@moby:/# ll /etc/service/streaming
lrwxrwxrwx 1 root root 17 Dec  2 00:27 /etc/service/streaming -> /etc/sv/streaming/

等了五秒钟,什么也没发生。

我也尝试过手动如下,

root@moby:/# sv status /etc/service/streaming     
warning: /etc/service/streaming: unable to open supervise/ok: file does not exist

我正在使用 ubuntu 16.04

root@moby:/# cat /etc/*release | grep RELEASE
DISTRIB_RELEASE=16.04

我感觉好像runit根本就没有在跑步。

root@moby:/# ps -ef | grep runsvdir
root      1976     7  0 00:58 ?        00:00:00 grep --color=auto runsvdir

我也不知道启动 runit 的脚本,

root@moby:/# service runit start
runit: unrecognized service

或者

root@moby:/# service sv status
sv: unrecognized service

用户能runit帮助我了解这里发生了什么吗?

参考

http://smarden.org/runit/install.html

答案1

我通过添加以下文件解决了这个问题,灵感来自于之前runit在 Ubuntu 16.04 LTS 上运行的服务器的配置:

vagrant@vagrant:/usr/bin$ ls -l runsvdir-start* -rwxr-xr-x 1 root root 544 Aug 19 05:04 runsvdir-start

内容:

#!/bin/sh

PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin

exec env - PATH=$PATH \
runsvdir -P /etc/service 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................'

vagrant@vagrant:/usr/bin$ ls -l /lib/systemd/system/runit.service -rw-r--r-- 1 root root 143 Aug 19 05:07 /lib/systemd/system/runit.service

[Unit]
Description=Runit service supervision

[Service]
ExecStart=/usr/bin/runsvdir-start
Restart=always

[Install]
WantedBy=multi-user.target

您可能需要which runsvdir在 之后用 和 来确认路径apt-get install runit

答案2

我在 ubuntu 18.04 上遇到了同样的问题。执行“sv status dir_name”时出现以下错误

无法打开 superise/ok:文件不存在

runsvdir 也没有显示在“grep”输出中。我通过安装解决了这个问题runit-systemd软件包。请使用以下命令在 ubuntu 和 debian 系统中安装

sudo apt install runit-systemd

我从另一个 askubuntu 找到了这个解决方案问题

我希望这有帮助

相关内容