【问题标题】:Passenger stays in foreground when started from Vagrant从 Vagrant 开始时,乘客停留在前台
【发布时间】: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 进行以下测试:

  1. 自动启动Passenger,然后
  2. 做其他事情。

但是脚本不能做任何其他事情;它一直卡在乘客中。

我正在使用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


    【解决方案1】:

    你可以尝试在分叉的过程中这样做

    fork {
      `your command`
    }
    

    【讨论】:

    • 我想我已经尝试过了,昨天没有成功。我尝试线程等等......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    相关资源
    最近更新 更多