ユーザーがログアウトした後にフォアグラウンドでタスクを実行できますか?

ユーザーがログアウトした後にフォアグラウンドでタスクを実行できますか?

端末(またはフォアグラウンド)に接続する必要がある実行する必要があるタスクがあります。ジョブはリモートサーバー上で実行され、ユーザーがログアウトした後も実行を続ける必要があります。 VNCサーバーについて知っていますが、redhatこの問題を解決するための組み込みツールがあるかどうかを知りたいです。 (つまり、追加のソフトウェアをインストールするsudoはありません。)

ベストアンサー1

GNU画面これがあなたが探しているものです。私が使用したすべての* nixシステムにプリインストールされているので、Red Hatにインストールする必要があります。screenターミナルクライアントに接続して分離できるターミナルサーバーとして機能します。これは、同じ端末セッションを同時に見る複数のクライアント、複数のタブ、(水平)分割画面、(他のクライアントからの)リモート分離などの興味深い可能性を可能にする。

SSH接続が予期せず中断されると、以前に実行されたコマンドはそれを認識せず、引き続き正常に実行されます。画面内の10個の異なるタブで10個の異なるプログラムを実行することができ、すべてが実行され続けます。その後、同じコマンドのいくつかの異なるバリアントを使用して(ログイン後)再接続できます。私が使用するコマンドは次のとおりです。

 screen -RD

これは、前の画面セッションを現在の端末に再接続し、IIRCがまだ接続されている他のクライアントを切断することを意味します。

screenセッション中にコマンドを送信するには、デフォルトでウィンドウを作成または閉じるなど、他の文字を押す前に「Ctrl + a」プレフィックスを使用できます。画面が多いカンニング紙もちろん、オンラインには、必要に応じてより多くの情報を含むマニュアルページが常にあります。


画面は長い間使用されてきたので、新しい代替案があります。私は次に切り替えますマルチプレクサ1年前頃には振り返ることはありませんでした。コンパイルが必要かもしれませんが、垂直分割画面が可能であることが私のお気に入りの主な理由です。


しかし、上記の解決策はあなたの質問を頼みます。まだ計画を開始していない場合は、解決策があります。screenまたは、セッションtmuxで作成されていない長期実行プログラムがある場合でも再起動できます。 AFAIK、コマンドライン履歴を復元することはできませんが、プロセスの制御を取得できます。私がこの時に使用するプログラムはreptyr、Mac OSX、およびDebian Linuxバージョンで正常にビルドして使用しました。 IIRCを実行するにはsudo権限が必要です。

おすすめ記事