ウェブサイトでこのQ&Aをお読みください。Moshセッションに再参加できますか?ユースケースが気になりますmosh
。
tmux
ローカルクライアントで起動してmosh
から起動するとしましょうtmux
。このmosh
セッションでは、一定期間情報を標準出力に印刷するなど、リモートシステムで長いプロセスを開始します。
次に、クライアントの接続が失われるか(何らかの理由で)ローカルクライアントを再起動するとします。 (1)私のローカルtmuxセッションに再接続し、(2)まだ私のmosh接続が有効になっていて(3)、サーバープロセスがまだ実行中で、そこに出力が表示されていることを確認してください。
答え1
うん。
利点/用途の1つは、接続が失われてもセッションが続く前にセッションが続くことを許可することですtmux
。mosh
接続が切断されると、tmuxはシグナルを処理し、セッションで実行されているプロセスは切断が発生したことを認識せずに実行されます(プロセスの開始と同様nohup
)。
それでは、上記の結果が「はい、はい、はい」であるのはなぜですか?
(1) re-attach to my local tmux session,
はい、ローカルの tmux セッションを切断すると、tmux が SIGHUP を処理して実行を継続するため、再接続時に次のことができます。tmux attach-session
(2) still see my mosh connection alive,
はい、tmuxは切断信号を処理するため、tmuxで実行されているmoshプロセスは接続が失われたことを知らずに実行され続けます。
(3) still the server process running and displaying its output in it?
はい、moshがまだ接続されていて、実行中のサーバープロセスが引き続き出力を送信するためです。