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.