J'ai une application rails qui doit démarrer un service Web Sinatra de soutien. Je voudrais l'invoquer via une tâche de rake. Mais je veux que l'application Sinatra commence dans une nouvelle fenêtre de terminal (commande). Oui, j'ai besoin de le voir en cours d'exécution.Comment faire pour exécuter la commande shell dans une nouvelle fenêtre dans ruby / rails?
# rake task
namespace :daq_controller do
desc "start the DAQ contoller web service"
task :start do
dir = File.expand_path(File.dirname(__FILE__))
sh "cd #{dir}; rackup daq_controller.rb"
end
end
points de bonus s'il fonctionne sur * nix et fenêtres
Ouverture d'une fenêtre de terminal est très spécifique OS, cependant. Quel "UNIX" avez-vous l'intention de lancer? Lancer un nouveau xterm est facile. Lancer une nouvelle fenêtre Terminal.app ne l'est pas. – tadman
Mac: Terminal, Linux: gnome-terminal, Win: ruby peut déjà le faire – Karl