2010-10-06 56 views
1

我有一个需要启动支持Sinatra Web服务的Rails应用程序。我想通过rake任务调用它。但我希望Sinatra应用程序在新终端(命令)窗口内启动。是的,我需要看它执行。如果它工作在* nix 窗口如何在ruby/rails的新窗口中执行shell命令?

+0

打开一个终端窗口是高度操作系统特定的,虽然。你打算运行什么“UNIX”?启动一个新的xterm很容易。启动一个新的Terminal.app窗口不是。 – tadman 2010-10-06 20:50:59

+0

Mac:终端,Linux:gnome-terminal,Win:ruby已经可以这样做 – Karl 2010-10-06 21:00:45

回答

0

# 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 

加分的Linux:GNOME终端gnome-terminal --command

+0

或--execute CMD ARGS 与上面的--command相同,为了兼容性而包含。 – Bohdan 2010-10-06 21:29:40