我正在尝试设置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
不知道我做错了什么,有什么指针吗?
答案 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