データベースを実行/クエリし、30 秒ごとに情報を入力/削除する Ruby スクリプトがあります。次を使用してコマンドラインから実行します。
ruby worker.rb
私はサーバーにsshingしています。ターミナルを閉じると、ワーカーの実行が停止します。確実に実行し続ける方法はありますか?
データベースを実行/クエリし、30 秒ごとに情報を入力/削除する Ruby スクリプトがあります。次を使用してコマンドラインから実行します。
ruby worker.rb
私はサーバーにsshingしています。ターミナルを閉じると、ワーカーの実行が停止します。確実に実行し続ける方法はありますか?
はい。簡単な方法は、nohup
andを使用すること&
です:
nohup ruby worker.rb &
それを開始し、制御をシェルに戻し、端末とは独立して実行させます。別のオプションは、それをデーモンにすることです。このコードは、セットアップ コードの後に続きます。
Process.daemon
最適な制御のために、ScreenまたはTmuxを使用します
通常どおり (デーモンを使用せずに) スクリプトを開始して、出力を確認できます。
SSH セッションを閉じても、スクリプトは引き続き実行されます。
次回ログインすると、ログアウトしなかった場合と同じように、同じ環境が得られます。