重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

SSHでVPS(Cent OS5.8)に接続してrailsのサーバーを立ち上げました。そうすると当たり前ですが実行されターミナルに状態が出力されます。このときにターミナルは別の操作ができなくなるのですが、この場合どうやれば実行させつつ別の作業操作ができるのでしょうか。
それともPC側から別のプロンプトを立ち上げてSSHでログインするのでしょうか。Linuxは初めてなのでご教授の方よろしくお願いします。

A 回答 (2件)

rails初心者で、ただいま勉強中の過程で回答させて頂きます



rails3で環境を作ったのならおそらくMogrelのサーバーを「rails server」コマンドで実行したのでしょう
その場合「rails server &」と末尾にアンパサンドをつけてあげればrailsをバックグランドで実行できます
(他の回答者様からも同じ言い権がありますが、Linuxではコマンド末尾に&をつけると処理をバックグランドに回せます)

ちなみに
railsを終了させるには「ps ax | grep rails」コマンドで実行しているrailsのプロセス番号を調べて
「kill -9 <railsのプロセス番号>」を実行すれば無事に終了させられます
この場合でも、railsのログは延々と出力されて、他のコマンドの実行結果と出力が混ざるので気をつけましょう

Mogrelでのrails実行は、勉強のために実行する環境としては、まぁ、悪いものではないですが
身内以上の人に公開するにはpassengerかunicornの導入をオススメいたします
(個人的には、passengerの方がややオススメ)
    • good
    • 0
この回答へのお礼

終了方法までありがとうございます。passenger導入してみました!

お礼日時:2012/03/23 23:49

railsやったことはありませんが……


通常なら/etc/init.dに起動スクリプトを置いて…ということになるかと。

>実行されターミナルに状態が出力されます。このときにターミナルは別の操作ができなくなるのですが、この場合どうやれば実行させつつ別の作業操作ができるのでしょうか。

screenなどの仮想端末を起動して、そこから呼び出す。
とかいう方法があるかと。
ビルドとかする時にたま~に使いますかねぇ。
screen起動してからmakeとか。
デタッチしてから回線切断して…数時間後とかに再接続、アタッチしなおして結果を見る。とか……。

http://d.hatena.ne.jp/nonbei/20091116/1258334388
http://iandeth.dyndns.org/mt/ian/archives/000570 …
http://www.i-sys.biz/Support/Linux/screen.html
などなど…

実行した後、追加の操作が不要。
って場合はnohupとかですかね。
nohupで起動した先にバックグラウンドに回さないと、回線断で一緒に死ぬかも知れませんけどね。
# カーネルビルドの時に…
# nohup ./kernel_build.sh &
# とかやって切断する…とか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!