端末(またはフォアグラウンド)に接続する必要がある実行する必要があるタスクがあります。ジョブはリモートサーバー上で実行され、ユーザーがログアウトした後も実行を続ける必要があります。 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権限が必要です。
答え2
「隠された」フロントターミナルを起動するには:
ssh server.com -t screen -S アプリケーション名 [/usr/bin/executable]
分離 (非表示): CTRL+AD
接続 (復元): ssh server.com -t screen -r applicationName