나는 이것이 매우 기본적인 질문이라고 확신합니다. 이를 용이하게 하는 것이 가능하다고 생각 tmux
하지만 정확한 단계는 잘 모르겠습니다.
내 사용 사례는 다음과 같습니다
저는 데스크탑에 앉아 SSH를 통해 서버에 연결하고 있습니다. 나는 장기 실행 프로세스를 시작했습니다. 다른 작업을 수행하는 동안 프로세스는 서버에서 계속 실행됩니다(그러나 이 시점에서 반드시 서버에서 분리된 것은 아닙니다).
이제 저는 노트북을 사용하고 있습니다. (점심 먹으러 간다고 가정합니다.) 동일한 서버에 SSH를 통해 연결하고, 데스크톱에서 볼 수 있는 것과 동일한 콘솔 출력을 확인하고(만약 그곳에 있었다면) 동일한 실행 중인 애플리케이션에 몇 가지 키 입력을 보내야 합니다. 마치 데스크톱 SSH 세션에 있는 것처럼 상호작용해야 합니다. 완료되면 이 세션을 분리하고 애플리케이션이 서버에서 계속 실행되도록 허용하겠습니다.
나중에 작업하는 동안 데스크탑에서 확인해 보겠습니다. 일과가 끝나면 일을 그만두고 집에 갑니다. (현재 서버의 프로세스에 연결된 세션이 없습니다.) 집에서 서버에 연결하고 동일한 실행 중인 응용 프로그램에 연결하고 화면에 무엇이 있는지 확인하고 몇 가지 명령을 보낼 수도 있습니다.
tmux
터미널 멀티플렉싱에 너무 많은 초점을 맞춘 것 같아서 지금까지 찾은 답변이나 튜토리얼에서 사용 사례가 설명되지 않았습니다. 내 사용 사례는 거의 반대인 것 같습니다. 화면 앞에 앉아 여러 서버에 연결할 필요가 없습니다. 나는 하나의 서버에서 작업하지만 여러 다른 컴퓨터에서 연결하고 때로는 동시에 여러 연결이 열려 있거나 연결이 전혀 없을 때도 있으며 서버에서 오랫동안 실행되는 응용 프로그램과 상호 작용하는 데 중점을 둡니다.
서버에 연결하고 콘솔 애플리케이션을 시작한 다음 동일한 애플리케이션에 연결하고 다른 여러 시스템에서 동일한 콘솔 출력을 확인하는 단계는 무엇입니까?
또한 tmux
클라이언트와 서버를 모두 설치해야 합니까?
답변1
나는 을 사용하기로 결정했습니다 . 그것이 내 요구 사항을 충족한다고 tmux
생각하지 않습니다 . 시도해 nohup long-running-process &
보았는데 tmux
예상대로 작동합니다. 내 사용 사례에서는 tmux
서버에만 설치하면 되는 것 같습니다 .
나는 책상에 앉아 일하고 있어요:
$ ssh my_server
$ tmux new-session -s my_session_name
$ application_name #장기 실행 애플리케이션을 시작하고 콘솔에서 출력 보기이제 저는 노트북을 사용하고 있습니다. (제가 점심을 먹으러 간다고 가정하겠습니다.):
$ ssh my_server
$ tmux Attach-session my_session_name
동일한 application_name에 대한 콘솔 출력 보기
필요에 따라 키 입력 실행
ctrl-b d # tmux 세션 분리
$ exit # ssh 세션 연결 끊기하루가 끝나면 나는 그것에서 벗어나 집으로 돌아갑니다.
ctrl-b d
$ 종료집에서 서버에 연결하겠습니다.
$ ssh my_server
$ tmux Attach-session my_session_name
application_name의 콘솔 출력 보기
필요에 따라 키 입력 실행
ctrl-b d
$ 종료
다음날 아침 출근할 때도 같은 방식으로 다시 연결하세요.