在控制台中,我习惯于输入以下之一:
cd /vagrant/project/ && rvm passenger start -p80 -d --user vagrant -e vagrant
cd /vagrant/project/ && rvm passenger start -p80 --user vagrant -e vagrant &
乘客启动并再次给我控制权。
现在,使用 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)
但我真的不明白。脚本中不再可以访问标准输入。我很好奇,有谁知道标准输入指向哪里?