장기 실행 명령을 실행하는 SSH 세션을 시작할 때 Ctrl+ C(SIGINT) 처리는 어떻게됩니까?
SSH 세션이 닫혀 있음을 알 수 있지만 누가 먼저 SIGINT를 얻는 지 잘 모르겠습니다.
원격 장기 실행 명령? 즉, (a) 원격 명령의 신호 처리기가 호출되어 원격 명령을 중지합니다. (b) 명령을 생성 한 셸은 명령이 중지되었음을 감지하고 중지합니다. (c) 원격 sshd는 셸이 중지되었음을 감지합니다. 연결을 닫습니다
또는
로컬 ssh가 신호를 수신하고 연결을 닫습니다.
나는 (1)이 일어나고 있다고 생각하지만 확인하고 싶다.
또한이 경우 SIGINT의 셸 처리로 어떤 일이 발생하는지 확실하지 않습니다. 예를 들어, 만약 내가 ...
ssh remote 'while true ; do sleep 1 ; date ; done'
및 Ctrl+는 C, 다음 원격 접속이 삭제된다. Ctrl+ 후에도 계속 유지되는 쉘에서 원격 명령을 실행하는 방법이 C있습니까? 즉,이 경우 루프를 중지하고 원격 쉘에서 계속 작업 할 수 있습니까?
ssh remote command
, 반대ssh remote
)가 (로컬 측에서) 종료됩니다. 원격 쪽은 아마도 (OS에 따라) 닫힌 소켓을 읽거나 쓰려고 시도 할 때까지 계속 실행됩니다. ctrl-C를 포함한 모든 키 입력을 리모컨으로 전달하려면을 사용하십시오ssh remote
.