2012-07-05 131 views
1

是否可以從運行Rails服務器內啓動Rails服務器?從Rails內部啓動Rails服務器

我也想使用'bundle install'來安裝gem。 我做了一個簡單的設置,但是當我調用'bundle install'時,運行rails服務器的gem被安裝,而不是我希望啓動的服務器的gem。

什麼是啓動另一個rails服務器的最佳策略。

+0

我知道這是一個煩人的問題,但是......你想要達到什麼樣的目的?當然,你可以總是分叉一個新進程,然後執行命令(在你的情況下是新的rails服務器),但坦白地說,我很難想出一個合理的用例。你能詳細說明一下嗎? – paukul 2012-07-05 17:20:53

+1

@paukul也許他正在構建一個可以管理其他Rails服務器的Rails應用程序? ;)無論如何,我腦海中的一些小小的聲音大吼大叫,使用'exec'非常危險,特別是在產生整個服務器時。 – 2012-07-05 17:22:53

+0

@naliwajek當然,也許我應該讓自己清楚,我不認爲這是一個好主意;) – paukul 2012-07-05 17:28:53

回答

0

正如其他人在評論中所述,您可以從Rails應用程序產生shell命令。你有幾個選擇。 http://mentalized.net/journal/2010/03/08/5_ways_to_run_commands_from_ruby/

如果您想要在運行bundle命令時繼承用戶環境,則可能需要生成一個bash登錄shell,然後運行該命令。例如。 ```/ bin/bash -l -c「命令在這裏」。

雖然你並沒有問殺了他們,如果你只是要運行這個和你沒有任何建設跟蹤進程ID,你可以找到並殺死其他情況下的一些ps aux | awk '/process name or unique path/ {print $2}' | xargs kill魔術