デタッチされた mosh セッションに再接続する方法、または別の方法で削除する方法
Mosh: You have a detached Mosh session on this server (mosh [XXXX]).
つまり、モッシュに相当するものは何ですか
screen -D -R
またはおそらく
screen -wipe
さらに、この回答はドキュメントのどこにありますか?
デタッチされた mosh セッションに再接続する方法、または別の方法で削除する方法
Mosh: You have a detached Mosh session on this server (mosh [XXXX]).
つまり、モッシュに相当するものは何ですか
screen -D -R
またはおそらく
screen -wipe
さらに、この回答はドキュメントのどこにありますか?
セキュリティ上の理由から、再接続することはできません。https://github.com/keithw/mosh/issues/394を参照してください。
切り離されたセッションを強制終了するには、そのメッセージに表示されている PID 番号 (「XXXX」の部分) を使用します。たとえば、-
Mosh: You have a detached Mosh session on this server (mosh [12345]).
そして、このコマンドを実行できます:
kill 12345
また、すべてのmosh 接続を閉じるには、次のことができます。
kill `pidof mosh-server`
現在 mosh 経由で接続している場合は、この最後のコマンドで接続も切断されることに注意してください。
驚いたことに、CRIU ( https://criu.org ) を使用して mosh クライアントをチェックポイントして再起動したところ、うまくいきました。
ショッキング。
mosh-client の PID を見つけます。
$ ps -ef | grep モッシュ
次に、指示に従って CRIU をインストールします。
次に、次のようにチェックポイントを設定します。
$ mkdir チェックポイント
$ sudo ./criu dump -D checkpoint -t PID --shell-job
次に、復元します。
$ sudo ./criu 復元 -D チェックポイント --shell-job
そして、そこにあります。mosh クライアントが戻ってきました。
ただし、ラップトップが再起動した場合 (これが私たちが保護しようとしている全体的なポイントです)、mosh はmonotonic
クロックを使用してクライアント側で時間を追跡しますが、これは再起動後は機能しません。これは機能しませんが、ラップトップが完全にクラッシュした場合、mosh シーケンス番号がチェックポイントされたバージョンと同期されなくなるため機能しません (バイナリは再開されますが、通信は停止します)。
これを修正するには、mosh にそれをやめて mosh のソース コードをダウンロードするように指示する必要があります。次に、このファイルを編集します。
CDモッシュ
vim configure.ac
次に、その行を検索しGETTIME
てコメントアウトします。
次に、次のようにします。
autoreconf # 初めて複製した場合は ./autogen.sh
。/構成、設定
作る
インストールする
その後、CRIU チェックポイントが設定された mosh クライアント セッションは、再起動後も存続します。
(明らかに、有用なチェックポイントを定期的に実行するために何かを書く必要があります。しかし、それは読者のための演習です)。