私はRubyスクリプトでunicorn_railsを開始しようとしている、と次の出力unicorn_railsをデーモンとして起動しようとすると、なぜRubyスクリプトが停止するのですか?
[1]+ Stopped ./setup_rails.rb
をスクリプトは次の行のスクリプトが停止し
%x[bash -ic "bash <(. ~/.bashrc); cd /home/www-data/rails_app; bundle exec unicorn_rails -p 8000 -E production -c /home/www-data/rails_app/config/unicorn.rb -D"]
になったときに、スクリプト内の多くのコマンドを実行して生成した後
となり、Linuxプロンプトに戻ります。 "fg"と入力すると、スクリプトの実行が終了し、スクリプトが停止した行が実行され、unicornがデーモンとして起動します。
別のスクリプトで行を実行すると、スクリプトは停止せずに完了します。
UPDATE_1 -
Iソースの.bashrc以前のスクリプトに私がRVMをインストールし、それは私が次のものが正しい環境で実行するために取得するので、私が望むのであれば
%x[echo "[[ -s \"$HOME/.rvm/scripts/rvm\" ]] && source \"$HOME/.rvm/scripts/rvm\"" >> .bashrc]
%x[bash -ic "bash <(. ~/.bashrc); rvm install ruby-1.9.2-p290; rvm 1.9.2-p290 --default;"]
、RVMの正しいバージョンを実行ルビーと私は.bashrcに
エンドUPDATE_1
を調達する必要がバンドルしますrubyスクリプトがcontrol-Zが押されたように停止する原因は何ですか?
#Josh - なぜ私が.bashrcを調達しているかを説明するUPDATE 1を追加しました。 –
私は... rvm ...私は非常に生産(またはちょうど約)の環境でrvmを使用することを避けます。しかし、それがあなたが撮影しているものなら、いくつかの選択肢があります。 (最初に、 'rvm-exec'をチェックアウトしたことはありませんでしたが、これはうまく動作することはありませんでしたが、' bundle exec' AFAIKのような動作をすると思われます。過去には、rvmをインストールするための完全なパスを持つrubyという単純なものがありました。醜いですが、うまくいくはずです。私は例を見つけようとしていますが、それを使ってからしばらくしていて、彼らは姿を消してしまったようです。 – jmervine
さて、ちょっとした検索から、単に '$ HOME/.rvm/scripts/rvm install ruby-1.9.2-p290 2>/dev/null;を実行することができます。 $ HOME/.rvm/bin/rvm-shell ruby-1.9.2-p290 -c "cd/home/www-data/rails_app &&バンドルexec unicorn_rails -p 8000 -E production -c/home/www-data/rails_app /config/unicorn.rb -D "これはテストされていないか、それに近い* *動作するはずです。 – jmervine