SSH 연결이 끊어진 후 화면 세션에 다시 연결할 수 없습니다


16

이전에와 함께 장시간 실행되는 화면 세션에 다시 연결했습니다 screen -dr control. 그러나 때때로이 명령은 화면에 다시 연결되지 않고 영원히 중단됩니다 (10 분 이상 중단 한 후). 이것은 SSH 연결이 예기치 않게 끊어졌을 때만 발생하며 화면이로 올바르게 분리되지 않은 경우에 발생합니다 Ctrl-A d. 다른 스위치와 같은 screen -x또는 screen -D -RR작동하지 않습니다.

이 게시물 에서는 화면 세션을 보유한 PTY를 종료하여 화면 연결이 끊어 지도록 제안합니다. 그러나 그것은 단순히 screen -dr control호출 된 쉘을 죽 입니다.

예를 들면 다음과 같습니다.

$ ps -ef | grep control | grep -v grep
nomad     7387  7109  0 13:05 pts/50   00:00:00 screen -dr control
nomad    15299     1  0 Nov27 ?        00:13:47 SCREEN -S control

$ ps -ef | grep bash | grep 'pts/50'
nomad     7109  7108  0 12:49 pts/50   00:00:00 -bash

링크 된 게시물은 bashPID 7109로 프로세스를 종료 하도록 제안합니다. 이것은 PID 7387로 screen -dr control프로세스를 종료합니다. 그 후에도 여전히 화면에 연결할 수 없습니다.

SCREEN -S control스크린 세션을 시작한 프로세스 init는 부모로서 분명히 죽일 수 없습니다.

중단 된 화면 세션에 다시 연결하는 방법이 있습니까?

업데이트 : 이것은 커널 2.6.32-358.6.1.el6.x86_64를 사용하는 CentOS 6.4에서 발생합니다. 쉘은 모두 bash 버전 4.1.2 (1)-릴리스입니다.


3
어떤 일은 screen -ls그 "걸려"의 경우라고? screen -d -r <session>"분리 및 복구"를 의미하므로 직접 분리하지 않아도 상관 없습니다. (그리고 자주하는 일에는 그렇지 않습니다 ...)
— mveroone

화면 프로세스에서 lsof를 실행하여 "고착 된"것이 있는지 확인하십시오. Screen은 유닉스 소켓을 사용하여 프로세스 간 통신을합니다. 또한 소켓이 삭제되지 않았거나 소유권이 변경되지 않았는지 확인하십시오. 일반적으로 사용중인 OS와 버전도 포함해야하지만, 이번에는 OS에 의존 할 특별한 것을 염두에 두지 않습니다.
— Dan Pritts

3
netcat을 프록시 명령으로 사용하는 등 다른 홉을 통해 ssh'ing하고 있습니까? 이 경우 첫 번째 상자에 대한 ssh 연결이 끊기는 문제가 있었지만 netcat 프록시 명령은 '두 번째'ssh 연결을 열린 상태로 유지합니다. 그러나 -d가 작동해야합니다.
— Jens Timmerman

젠스, 당신의 조언이 속임수를 사용했습니다. 실제로 netcat을 통해 프록시를 사용하여 중간 호스트에서 종료하면 화면에 다시 연결할 수있었습니다.
— 빅토르 로젠펠트

중단 된 화면 명령의 상위 프로세스를 종료하려는 이유는 무엇입니까? 첨부 화면 명령 자체를 종료하려고합니다. 귀하의 경우 # 7387입니다.
— Matthias Urlichs

답변:


6

나는 당신이 시도해야한다고 생각

screen -DR 

다음 번에도 성난 (대문자) 호출로 인해 중간 넷캣 홉이 보유한 다른 세션의 연결을 끊어야합니다.


나는 이것을 시도했지만 작동하지 않는다. netcat 프록시를 죽이면 트릭을 수행합니다.
— 빅토르 로젠펠트

이상한. 그렇습니다. 대신 어떻게됩니까?
— Matthias Urlichs

화면의 모든 추가 호출 (-dr, -x, -DR)은 영원히 중단됩니다. netcat 프록시를 종료하면 이러한 호출이 다시 작동합니다.
— Viktor Rosenfeld

1

Jens Timmerman이 제안한 것처럼이 이상한 동작의 궁극적 인 이유는 SSH ProxyCommand 및를 사용하여 원격 서버에 연결했기 때문 ncat입니다. ncat중간 컴퓨터에서를 종료 한 후 화면 세션에 다시 연결할 수 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.