为什么执行资源上的 nohup 不起作用 - Chef 食谱

Why nohup on execute resource doesn't work - Chef recipe

我正在尝试使用 Chef 部署 Django 应用程序(开发模式)。问题是,当执行配方时,服务器不会在我登录时保持 alive.The 命令有效,但因为它不会更改会话。任何建议都有帮助。

execute 'django_run' do
  user 'root'
  cwd '/var/www/my-app/'
  command 'source ./.venv/bin/activate && sudo -E nohup python2 ./manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 &'
end

我怀疑这里的 sudo 和 & 有点奇怪。尝试使用 sudo -b 而不是符号。另外一个更好的方法可能是使用 service 厨师资源而不是 executehttps://docs.chef.io/resources/service/