我在使用 screen
时遇到了一个有点奇怪、可重复但无法解释的问题。
我正在使用 ansible
/vagrant
为我的公司构建一个一致的开发环境,作为一个稍微华丽的画龙点睛之笔,它启动了运行在 vagrant 中的开发服务器code>screen
session ,因此前端开发人员无需费心登录并手动启动流程,但后端开发人员可以登录并进行控制。
然而,其中一个系统——尽管是从头开始构建的——最终会立即死机(它不会在 screen 日志中记录任何内容)。手动运行命令可以正常工作。
(命令是)
screen -L -d -m bash -c /home/vagrant/run_screen_server.sh
我什至对系统上所有与 vagrant/virtualbox 相关的东西都进行了核对,确保它安装了一个干净的 nightly box。完全相同的源盒适用于所有其他机器。
我是否可以采取任何其他调试步骤,或者我是否遗漏了什么?
最佳答案
我现在正尝试对我的设置做同样的事情并遇到同样的问题。
进一步的测试表明,在调用 screen
后立即 sleep 1
有帮助。似乎在 screen 调用完全分离之前 ansible 调用退出的 ssh 脚本(或其他东西,这可以解释 sleep 1
有帮助)
我还找到了 Can't get Fabric's detached screen session example to work同样的建议。
关于linux - 尝试从 ansible 中通过 screen 启动进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22225095/