SSHセッションを復元する


13

SSH経由でサーバーに接続してプロセスを作成しましたが、突然インターネット接続が切断されました。プロセスが進行していることは知っていますが、前のセッションを復元して進行状況を確認するにはどうすればよいですか?

回答:


16

上記で提案したように、将来はスクリーンを使用してそのようなことを防ぐことができます。画面の使用方法に関する簡単な説明:

  1. screen -S compiling_stuff
  2. ここで何かをします。例えば ./configure
  3. 何らかの理由で接続が閉じられた場合は、サーバーに再接続して発行できます screen -r comp
  4. を押して、スクリーンセッションを自分で切り離すこともできます。 CTRL+A+D

幸運を


17

screen ターミナルでコマンドを開始するのが最適です。ターミナルから切断しても保持されます(意図的に、ctrl + adで、または接続が切断されたなどの理由で)。

もつとも、あなたは再取り付け実行中のプロセスCAN(例:あなたの実行中のセッションの殻、まだ実行されている場合)あなたの現在の端末(すなわち、再取り付け標準入力、標準出力、キーボードに、だけでなく、そのための新しいターミナル制御端末を作りますプロセス)使用:reptyr

両方の利点を生かすためにscreen、インストールして起動し、その画面セッションでそのプロセスを再接続しますreptyr^^


Oliver、実行中のプロセスに再アタッチするにはどうすればよいですか?ヒントを教えてください。
アーチャー

@archer:ヒント:リンクをたどる^^(私の2番目の段落の終わり)
オリビエデュラック

@archer:しかし、画面はより単純です:画面で一度実行されたら、ctrl + ad:画面から切り離します(そして家に帰ります)。次に、画面に再接続します: "screen -r"(または、物事が行き詰まった場合は、より複雑な方法)。多くのスクリーンセッションを区別するには、名前を付けます。
オリビエデュラック

7

できません。将来的には、screenまたはを使用してこのようなことを防ぐことができtmuxます。これは、切断後にセッションに再接続できるように作成されます。


5

http://mosh.mit.edu/に言及するだけだと思った

ローミングを可能にし、断続的な接続をサポートし、ユーザーのキーストロークのインテリジェントなローカルエコーとライン編集を提供するリモートターミナルアプリケーション。

MoshはSSHの代替品です。特にWi-Fi、セルラー、および長距離リンクを介して、より堅牢で応答性に優れています。


ヘッズアップのために+1、私は前にそのツールを聞いたことがありません!
オリヴィエデュラック

2

screensshを使用して、後でセッションに再接続します。

私の知る限り、閉じられたsshセッションに再接続する方法はありません。


1

By風をお勧めします

Byobuは、端末マルチプレクサGNU Screenまたはtmuxの拡張機能であり、画面上の通知やステータス、およびタブ付きマルチウィンドウ管理を提供するために使用できます。リモートサーバーに接続するときに、ターミナルセッションのユーザーエクスペリエンスを向上させることを目的としています。


1

tmuxを使用することをお勧めします。

を介してtmuxセッションを復元できtmux attachます。

tmuxは、複数の仮想コンソールを多重化するために使用できるソフトウェアアプリケーションであり、ユーザーは単一のターミナルウィンドウまたはリモートターミナルセッション内で複数の個別のターミナルセッションにアクセスできます。コマンドラインインターフェイスから複数のプログラムを処理する場合、およびプログラムを起動したUnixシェルからプログラムを分離する場合に便利です。[1] GNU Screenと同じ機能の多くを提供しますが、BSDライセンスの下で配布されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.