これは私の設定です。
Workstation==ssh=>jumphost(tmux with split panes)==ssh=>server1
==ssh=>server2
サーバーへの2つの接続のいずれかが応答しない場合、どのように終了しますか?
送信は~.
最初のSSHセッションを終了するので、便利なオプションではありません。
答え1
親セッションに影響を与えずにネストされたSSHセッションを終了するには、内部セッションがEscキーを受け取る必要があります。
~
Enterキーを押してから、エスケープシーケンス~
を内部セッションに転送してエスケープシーケンスを開始できます。その後、後続のアクションを使用して.
内部セッションを終了できます。
答え2
私の考えではこの他の答えさて、おそらくこれが私の最初の選択肢でしょう。別の方法は、tmuxが提供する機能を次のように使用することです。
prefix、を入力しますx(デフォルトprefixはCtrl+ b)。ウィンドウを終了することを確認してください。
ウィンドウで実行されているプロセスはため息をつく。ssh
サーバーが直系の子であるかどうかにかかわらず、tmux
間にシェルがある場合はSIGHUPを受信して終了*する必要があります。tmux
ssh
ssh
tmux
SIGHUPを受信する他のプロセス、特にシェル(および存在する場合)がある場合がありますssh
。これがあなたに合っているかどうか自分に尋ねてください。
他の答えはsshに固有のもので、tmuxには依存しませんが、この答えはtmuxに固有であり、sshには依存しません(tmux内で他のプログラムを終了するために使用できます)。
*nohup
実行するために使用されていない限り。主な使命nohup
は、SIGHUPからプロセスを保護することです。