2012-06-26 1 views
1

Dans la console, je suis habitué à entrer dans l'un des:passagers reste au premier plan lors du démarrage de Vagrant

cd /vagrant/project/ && rvm passenger start -p80 -d --user vagrant -e vagrant 
cd /vagrant/project/ && rvm passenger start -p80 --user vagrant -e vagrant & 

et commence à passagers et me donne le contrôle à nouveau.

Maintenant, en utilisant Vagrant, je veux faire des tests qui:

  1. démarre automatiquement le passager, puis
  2. faire d'autres étoffes.

Mais le script ne peut rien faire d'autre; il reste coincé dans le passager.

J'utilise ssh.execute, qui appelle ssh.shell_execute:

shell_execute(???? , "cd /vagrant/project/ && rvmsudo passenger start -p80 -d --user vagrant -e vagrant" , false) 

Quelqu'un at-il une solution? Ou est-ce que quelqu'un a une idée d'où vient ce problème?


Adn la fin que j'ai trouvé un hack deerty, qui font fonctionner:

shell_execute(???? , "cd /vagrant/project/ && rvmsudo passenger start -p80 -d --user vagrant -e vagrant </dev/null &>/dev/null" , false) 

Mais je ne comprends pas vraiment. stdin n'était plus accessible dans le script. Je suis curieux, est-ce que quelqu'un sait où stdin a pointé?

Répondre

0

Vous pouvez essayer de le faire dans le processus fourchue

fork { 
    `your command` 
} 
+0

Je pense que je l'ai essayé, et ça n'a pas d'hier succès. Et j'essaye de Fileter et ainsi de suite ... – vvg

Questions connexes