7

我正在尝试设置 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

不知道我做错了什么,任何指针?

4

3 回答 3

4

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

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

于 2015-06-10T16:29:05.143 回答
2

你确定之前的进程已经完全关闭了吗?您可能需要查找并删除一个 .lock 或 .pid 文件,该文件告诉系统它正在被另一个进程使用

于 2014-07-04T06:33:22.450 回答
1

这可能是由于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

于 2018-02-05T10:36:19.073 回答