【发布时间】:2012-06-27 23:34:24
【问题描述】:
在控制台中,我习惯输入以下之一:
cd /vagrant/project/ && rvm passenger start -p80 -d --user vagrant -e vagrant
cd /vagrant/project/ && rvm passenger start -p80 --user vagrant -e vagrant &
Passenger 再次启动并让我控制。
现在,我想使用 Vagrant 进行以下测试:
- 自动启动Passenger,然后
- 做其他事情。
但是脚本不能做任何其他事情;它一直卡在乘客中。
我正在使用ssh.execute,它调用ssh.shell_execute:
shell_execute(???? , "cd /vagrant/project/ && rvmsudo passenger start -p80 -d --user vagrant -e vagrant" , false)
有人有解决办法吗? 或者有谁知道这个问题是从哪里来的?
最后我发现了一个 deerty hack,它使它工作:
shell_execute(???? , "cd /vagrant/project/ && rvmsudo passenger start -p80 -d --user vagrant -e vagrant </dev/null &>/dev/null" , false)
但我真的不明白。脚本中不再可以访问标准输入。我很好奇,有谁知道标准输入指向哪里?
【问题讨论】:
标签: ruby linux ssh passenger vagrant