Gunicorn: 操作系统错误 26:在 Vagrant 中使用 --pid 运行 gunicorn 时文本文件繁忙

创建于 2017-05-31  ·  4评论  ·  资料来源: benoitc/gunicorn

大家好,

使用--pid标志运行时遇到一些问题。 好像每当我使用这个标志时,gunicorn 都无法启动。 没有旗帜就没有问题。 这是错误。 在这种情况下,gunicorn 似乎正试图将临时 pidfile 重命名为“bzpid”,但它不能,因为它很忙。 也许有东西在访问该文件? 我无法想象虽然...

vagrant@basezero-nightly :/vagrant/client$ cd /vagrant/server
vagrant@basezero-nightly :/vagrant/server$ export BASEZERO_FLASK_SETTINGs=/vagrant/server/prodconfig.py
vagrant@basezero-nightly :/vagrant/server$ gunicorn --pid bzpid basezero_flask :app
[2017-05-31 13:44:12 +0000] [20613] [INFO] 启动 gunicorn 19.7.1
回溯(最近一次通话最后):
文件“/usr/local/bin/gunicorn”,第 11 行,在
系统退出(运行())
运行中的文件“/usr/local/lib/python3.5/dist-packages/gunicorn/app/wsgiapp.py”,第 74 行
WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
运行中的文件“/usr/local/lib/python3.5/dist-packages/gunicorn/app/base.py”,第 203 行
超级(应用程序,自我)。运行()
运行中的文件“/usr/local/lib/python3.5/dist-packages/gunicorn/app/base.py”,第 72 行
仲裁者(self).run()
运行中的文件“/usr/local/lib/python3.5/dist-packages/gunicorn/arbiter.py”,第 198 行
self.start()
文件“/usr/local/lib/python3.5/dist-packages/gunicorn/arbiter.py”,第 139 行,开始
self.pidfile.create(self.pid)
创建文件“/usr/local/lib/python3.5/dist-packages/gunicorn/pidfile.py”,第 39 行
os.rename(fname,self.fname)
OSError:[Errno 26] 文本文件忙:'/vagrant/server/tmpz5qc_vy3' -> 'bzpid'

谢谢你的帮助。

最有用的评论

您是否有机会在 Windows 上运行 vagrant? 如果是这样,也许您正在与 windows 共享目录,并且 windows 文件系统在使用时不支持重命名。

所有4条评论

您是否有机会在 Windows 上运行 vagrant? 如果是这样,也许您正在与 windows 共享目录,并且 windows 文件系统在使用时不支持重命名。

可以确认这也发生在 Virtualbox

@akshaybabloo但在 Windows 上也共享一个目录?

是的,但我猜它是 Virtualbox 的问题(基本上任何不是微软的软件),Windows 会锁定任何不是由 Hyper-V 生成的文件。 如果您切换到 Hyper-V,您将不会遇到此问题。

但是你会遇到另一个问题,Hyper-v 往往会混淆在其上运行的多个 VM,最终崩溃或什么都不做。 我认为要克服这个问题,您可能必须创建一个新的虚拟网络。

此页面是否有帮助?
0 / 5 - 0 等级