이것은 내 설정입니다.
Workstation==ssh=>jumphost(tmux with split panes)==ssh=>server1
==ssh=>server2
서버에 대한 두 연결 중 하나가 응답하지 않는 경우 어떻게 종료합니까?
보내기는 ~.
첫 번째 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으로부터 프로세스를 보호하는 것입니다.