我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
帮助我了解这里发生了什么吗?
参考
答案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 找到了这个解决方案问题
我希望这有帮助