バックグラウンドジョブを確実に実行またはログアウトするには、画面に-dmSオプションが本当に必要ですか?

バックグラウンドジョブを確実に実行またはログアウトするには、画面に-dmSオプションが本当に必要ですか?

screenログアウト後もバックグラウンドジョブを安定して実行できる機能を紹介するところをたくさん見ました。彼らは使う

screen -dmS name

によると、screen -hこのオプションは次のことを意味します。

-dmS name デーモンで開始: セッションを分離モードで表示します。

デーモンとは何ですか?私は理解できません。

簡単に入力すると、screen自動的に画面に移動できることがわかりました。いくつかのコマンドを実行したら、キーを押してからCtrl+a dログアウトします。これはまだうまくいきます。それでは、この簡単な方法は大丈夫でしょうか?本当に-dmSバックグラウンドタスクを安定的にする必要がありますか?


まとめてみましょう。

画面にどのオプションを設定しても、画面で実行されているすべての項目は安全にログアウトできます。ただし、ログアウト時に画面を終了するのではなく、画面を切り離す必要があります。

-dmSバックグラウンドでジョブを非反復的に送信する便利なオプションです。それは

screen -dmS nameOfScreen command

答え1

-dm対話形式で入力するのではなく、画面セッションでコマンドを実行したい場合にのみ使用してください。

-S後で簡単に再接続できるように、セッションに使用可能な名前を指定するだけです。

インタラクティブに使用したい人が読める名前を指定したくない場合は、これらのパラメータをすべて省略できます。

screenたとえば、実行コマンドだけを起動し/path/to/longTimeて実行を表示したくない場合は、次のようにします。

screen -dmS longSession /path/to/longTime

それともこれを行うことができます。

screen -S longSession
$ /path/to/longTime

ctrlad

どちらも同じことを行いますが、1つはスクリプトするのが簡単で入力が少なくて済みます。

答え2

screen -dmS name command args これは、バックグラウンドで呼び出されたスクリーンセッションを開始(つまり分離)し、そのスクリーンセッション内で実行されるために便利です。namecommand args

それ以外の場合は、command argsバックグラウンドで画面セッションが開始されます。

screen -d -r nameどちらの場合も、後でセッションに接続できます。からman screen

-d|-D [pid.tty.host]

スクリーンを起動しませんが、他の場所で実行されているスクリーンセッションを切り離します。画面制御端末で「Ca d」を入力するのと同じ効果があります。 -D 電源切断ボタンと同じです。分離するセッションがない場合、このオプションは無視されます。-r/オプションと組み合わせて使用​​すると、-R より強力な効果が得られます。

-d -r セッションを再接続するか、必要に応じて最初に切断してください。

-d -R 必要に応じて、最初にセッションを再接続、切断、または作成することもできます。

-d -RR セッションを再接続し、必要に応じて分離または作成します。複数のセッションが利用可能な場合は、最初のセッションを使用してください。

-D -r セッションを再接続してください。必要に応じて、まずリモートから切り離してログアウトしてください。

-D -R すぐに添付してください。詳しくは、セッションが実行されている場合は再接続することを意味します。必要に応じて、まずリモートから切り離してログアウトしてください。実行していない場合は、それを作成してユーザーに通知します。作家が一番好きな作品です。

-D -RR すぐに添付してください。それがどういう意味でも、ただそうしましょう。

注:常にを通じてセッション状態を確認することをお勧めしますscreen -list

マニュアルページには重要な詳細がありません。次のようにする必要があります。

-d|-D [pid.tty.host|session name]

答え3

-dmS は次の操作を強制します。

  1. 分離が始まります。-dm
  2. セッションに名前を付けることができます。-S sessioname

デーモンとして実行するとは、実行が完了するまでバックグラウンドで指定されたコマンドを実行することを意味します。

画面を起動してからコマンドを実行および切断するには、-dmSを使用してコマンドを実行するのと同じ動作をする必要があります。ゲームサーバーを実行したり、スプラッシュ画面で長時間作業した後に使用することがよくあります。Ctrl-A+d

man screenオプションの詳細については、マニュアルページを参照してください。

関連情報