오늘 저는 친구와 제가 화면에 연결하는 데 서로 다른 방법을 사용한다는 사실을 발견했습니다. 나는 테이블을 사용해왔고 -x
그는 -r
.man 페이지를 읽었지만 다른 결과를 생성하는 테스트 사례를 생각해낼 수 없습니다.
동일한 계정에서 두 개의 콘솔을 열고 -r
및를 사용하여 성공적으로 연결했습니다 -x
.
이들명령의 차이점은 무엇인가요?
이미 연결되어 있는 동일한 화면에 연결하려고 하면 다른 오류 메시지만 표시됩니다.
$ screen -r 1486
There is no screen to be resumed matching 1486.
그리고
$ screen -x 1486
Attaching from inside of screen?
답변1
https://www.gnu.org/software/screen/manual/screen.html#Invoking-Screen
-x
이미 세션에 연결되어 있는 경우에도 세션에 연결하십시오.
-r
현재 세션에 연결된 클라이언트가 없는 경우에만 세션에 연결합니다.
테스트하고 싶다면(현재 수행 중인 테스트가 screen 세션 내에서 screen 세션에 연결하려고 시도하는 것처럼 들리므로 절대 수행해서는 안 됨) 두 개의 별도 터미널 세션이 필요합니다. . 먼저 screen을 실행하여 screen 세션을 시작하고 연결합니다. 두 번째에서는 다음을 수행합니다 screen -r
.
screen -r
There is a screen on:
562503.pts-2.E595 (Attached)
There is no screen to be resumed.
이제 이 작업을 수행 screen -x
하면 세션에 연결됩니다. 두 개의 터미널을 나란히 배치하면 한 터미널에서 수행하는 작업이 다른 터미널에서도 표시된다는 점을 알 수 있습니다.
즉, -r
분리된 세션을 연결하는 경우 -x
다른 세션을 분리하지 않고 연결된 세션에 연결하는 것입니다.