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

Logging runit:无法锁定debian上的监督错误,logging,debian,runit,Logging,Debian,Runit,我正在尝试设置runit并登录我的debian wheezy虚拟机。到目前为止,我已通过以下设置成功启动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 r

我正在尝试设置runit并登录我的debian wheezy虚拟机。到目前为止,我已通过以下设置成功启动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

不知道我做错了什么,有什么提示吗?

你确定上一个进程已经完全关闭了吗?您可能需要在
ls-la/etc/service/gunicorn/supervise
中找到并删除一个.lock或.pid文件,该文件告诉系统另一个进程正在使用它。删除那个锁文件造成了一点混乱


因此,我摆脱了符号链接;在ps aux | grep gunicorn中杀死PID并重新进行符号链接。可能是最终目的,但确实完成了任务。

这可能是由于
运行它的守护进程在其单个服务仍在运行时被停止造成的

不要为
runit
服务删除并重新创建
symlinks

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