runit:无法锁定debian上的监督错误

时间:2014-07-03 22:31:35

标签: logging debian runit

我正在尝试设置runit并登录我的debian wheezy VM。到目前为止,我已经成功通过以下设置获得了gunicorn服务:

sudo mkdir /etc/sv/gunicorn
sudo vi /etc/sv/gunicorn/run
sudo ln -s /etc/sv/gunicorn/run /etc/service

我的日志运行文件有:

LOG_DIR=/home/$USER/logs/gunicorn/

exec svlogd -tt $LOG_DIR

当我运行 sudo runsvdir / etc / service / gunicorn

runsv supervise: fatal: unable to lock supervise/lock: temporary failure

不知道我做错了什么,有什么指针吗?

3 个答案:

答案 0 :(得分:4)

ls -la /etc/service/gunicorn/supervise我没有看到.lock,但有一个lock文件。删除该锁定文件会造成一些混乱。

因此我摆脱了符号链接;杀死ps aux | grep gunicorn中的pid并重新编号。可能是最终目标,但确实完成了工作。

答案 1 :(得分:2)

您确定上一个过程已完全关闭吗?您可能需要查找并删除.lock或.pid文件,该文件告诉系统其他进程正在使用该文件

答案 2 :(得分:0)

这可能是由runit守护程序在各个服务仍在运行时被停止引起的。

而不是删除&为symlinks服务重新创建runit

sv stop myservice
rm /etc/sv/myservice/supervise/lock
sv start myservice # or start the runit service

在您的特定情况下,symlink不正确&应该是:

ln -s /etc/sv/gunicorn /etc/service/gunicorn

您应该将sv目录而不是run文件符号链接到/etc/service/myservice