私は自分のLinuxボックスで常に実行している必要があるRubyスクリプトを持っています。私はnohup ruby ruby.rb&
を試しましたが、うまくいかないようです。バックグラウンドでRubyスクリプトを実行する
バックグラウンドでスクリプトを実行するにはどうすればよいですか?
私は自分のLinuxボックスで常に実行している必要があるRubyスクリプトを持っています。私はnohup ruby ruby.rb&
を試しましたが、うまくいかないようです。バックグラウンドでRubyスクリプトを実行する
バックグラウンドでスクリプトを実行するにはどうすればよいですか?
コマンドラインユーティリティであるscreen
をご覧ください。
screen
デタッチされた新しいシェルが表示されます。そこにスクリプトを作成してください
ruby whatever.rb
実行してください。 Ctrlキー - - その後CtrlキーヒットDを、あなたはあなたの元のシェルに戻ってする必要があります。今すぐsshセッションを終了すると、スクリプトは引き続き実行されます。後でボックスにログインし、
screen -r
と入力してください。取り外したシェルに戻ってください。
画面を複数回使用する場合、画面セッションをpidで選択する必要があります。これはあまり快適ではありません。簡素化するために、あなたはそれを再開するためにセッションを開始し、
screen -r worker
する
screen -S worker
を行うことができます。
ニーズに応じて:実際の生活の中で
fork do
Process.setsid
sleep 5
puts "In daemon"
end
puts "In control script"
をあなたはSTDOUT/STDERRを再オープンする必要があります。
出力が必要ですか? – cmwright
いいえ。しかし、私が "nohup"を実行すると、出力ファイルに結果が表示されるはずですが、私はそうではないと思います。私はちょうどそれが実行されていることを確認したい。 – donald
あなたが最初に&を使ってコマンドを実行したときに&PIDを取得するのですか? – cmwright