尝试使用runit只能返回“无法打开监督/确定”

Debian 7.4中安装了一个stream浪的runit

我的运行脚本正在工作,但是当我创build一个服务/裤子/日志/目录我开始得到以下错误: unable to open supervise/ok 。 我的服务继续运行,但没有被logging。

我已经尝试了两种不同的服务,两者都有相同的问题。

我已经尝试了各种不同的服务/裤子/日志/运行脚本(主要是使用svlogd),我试图改变一切权限(a + rwx),存储日志的目录存在,并具有相同的权限。

如果我直接运行svlogd命令行,它按预期工作。

下面的bash日志显示了当我将/etc/service/pants/_log重命名为/etc/service/pants/log并返回到/etc/service/pants/_log

 root@vwb-debian-wheezy:/etc/service# sv s pants/ run: pants/: (pid 29260) 44931s root@vwb-debian-wheezy:/etc/service# mv pants/{_,}log/ root@vwb-debian-wheezy:/etc/service# sv s pants/ run: pants/: (pid 29260) 44963swarning: pants/: unable to open supervise/ok: file does not exist ; run: log: (pid 29260) 44963s root@vwb-debian-wheezy:/etc/service# cat pants/log/run #!/bin/sh exec svlogd -ttt /var/log/service/pants/ root@vwb-debian-wheezy:/etc/service# ll pants/ total 12 drwxrwxrwx 2 root root 4096 Jul 3 07:00 log -rwxrwxrwx 1 root root 442 Jul 3 06:58 run drwxrwxrwx 2 root root 4096 Jul 2 18:59 supervise root@vwb-debian-wheezy:/etc/service# ll /var/log/service/ total 8 drwxrwxrwx 2 root root 4096 Jul 2 16:55 pants root@vwb-debian-wheezy:/etc/service# mv pants/{,_}log/ root@vwb-debian-wheezy:/etc/service# sv s pants/ run: pants/: (pid 29260) 45105s 

/etc/sv/pants/ not /etc/service/pants/创buildrun文件。

然后在/etc/service创build一个符号链接到/etc/sv/pants来激活服务。

 ln -s /etc/sv/pants /etc/service/ 

直接在/etc/service创build文件只是为了服务,在使用日志的时候也会出现问题。

可以通过删除/etc/service/的符号链接来停用/etc/service/

对于Debian安装,有两个目录: /etc/service/service 。 为了让你的服​​务得到有效的控制,他们应该是彼此或多或less的镜像。 在你的例子中,对于服务pants ,应该有一个符号链接/etc/service/pants和一个符号链接/service/pants ,每个应该指向/etc/sv/pants 。 您可以“欺骗”并将/service符号链接本身到/etc/service以获得相同的效果,但我不确定该变化的全部影响。