2

データベースを実行/クエリし、30 秒ごとに情報を入力/削除する Ruby スクリプトがあります。次を使用してコマンドラインから実行します。

ruby worker.rb

私はサーバーにsshingしています。ターミナルを閉じると、ワーカーの実行が停止します。確実に実行し続ける方法はありますか?

4

2 に答える 2

6

はい。簡単な方法は、nohupandを使用すること&です:

nohup ruby worker.rb &

それを開始し、制御をシェルに戻し、端末とは独立して実行させます。別のオプションは、それをデーモンにすることです。このコードは、セットアップ コードの後に​​続きます。

Process.daemon
于 2012-11-21T15:39:08.027 に答える
2

最適な制御のために、ScreenまたはTmuxを使用します

通常どおり (デーモンを使用せずに) スクリプトを開始して、出力を確認できます。

SSH セッションを閉じても、スクリプトは引き続き実行されます。

次回ログインすると、ログアウトしなかった場合と同じように、同じ環境が得られます。

于 2012-11-21T18:06:57.367 に答える