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

问题描述

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

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/

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...