SSH 세션을 종료하지 않고 PC 종료


14

원격 Linux 시스템에서 실행되는 무겁고 긴 프로세스가 있습니다. 랩톱을 사용하여이 컴퓨터에 SSH를 연결하고 소파에서 프로세스를 실행합니다.

그러나 랩톱을 종료하려고 할 때 원격 프로세스가 종료되어 문제가 있습니다.

나는 나의 연구를했고 "스크린"이 나에게 훌륭한 솔루션이라는 것을 알았다. (노트북을 종료하지 않는 한). "화면"세션을 "지속"하여 종료 한 다음 세션에 다시 연결할 수있는 방법이 없습니까?


원격 Linux 시스템에서 화면을 실행하고 있습니까?
Sam Miller

프로세스를 배경으로 할 수 있습니까?
ennuikiller

답변:


32

랩톱에서 화면 세션을 실행하는 것처럼 들립니다. 그런 다음 해당 화면 세션에서 원격 호스트로 sshing. 랩탑을 종료하면 로컬 화면 프로세스가 종료되고 ssh 세션이 종료됩니다.

당신이하고 싶은 일은 랩톱에서 원격 호스트로 ssh하는 것입니다. 그런 다음 원격 호스트에서 스크린 세션을 시작하십시오. 랩탑을 끄면 ssh 세션은 종료되지만 원격 화면 세션은 유지됩니다.

다음에 원격 시스템에 로그인 할 때 "screen -r"을 사용하거나 "screen -r <pid>"화면 세션이 여러 개인 경우 화면 세션에 다시 연결할 수 있습니다.

참고 : ssh가 종료되기 전에 원격 화면 세션에서 분리하는 것을 잊어 버린 경우 화면 세션이 여전히 연결되어 있다고 생각할 수 있습니다. 이 경우 세션을 먼저 분리하려면 "screen -dr <pid>"를 수행해야합니다.


4
그건 그렇고, 내가 올바르게 기억한다면, 당신이있을 때 Ctrl+A뒤에 키를 누르면 스크린 세션이 분리됩니다. Dscreen
David Z

@David 이것이 정확합니다. 단말기 또는 ssh 세션을 닫으면 화면이 열린 상태로 유지됩니다. "screen -raAd"가 다시 연결됩니다.
Chris

원격 호스트에서 스크린 세션을 시작하려면 어떻게해야합니까?
어리 석음

15

nohup머신에서 로그 아웃 한 후에도 계속 실행되는 프로세스를 시작하는 데 사용할 수 있습니다 . 그것은 당신이 찾고있는 것일 수 있습니다.


이미 실행중인 프로세스의 경우 ^ Z를 수행 한 다음 disown동등한 효과라고 생각하는 것을 만들 수 있습니다. disown다른 쉘에서 사용 가능하거나 사용 불가능할 수있는 bashism입니다.
intuited

일에 대한 nohup. 문제 ^Z는 프로세스를 일시 중지한다는 것입니다. 프로세스를 백그라운드로 지정할 수는 없지만 딸꾹질없이 계속 실행됩니다.
detly

6

에서 원격 세션을 분리하면 screen랩탑을 안전하게 종료 할 수 있습니다.


분리 된 화면 세션이 원격 서버에 있어야한다는 것이 보편적으로 명백한 지 확실하지 않습니다.
intuited

6

스크린 포인트는 서버에서 실행하고 CTRL+ A+로 분리하는 것 D입니다.


2

nohup을 사용하십시오. VNC를 사용하는 또 다른 선택. 서버에서 VNC 세션을 작성하십시오. 그런 다음 작업 할 때마다 연결하십시오. (긴 프로세스가 GUI를 사용하는 경우 더 유용합니다-예를 들어 IDE)


0

이러한 서버에 ILO / DRAC / 기타 원격 KVM 등이있는 경우 콘솔에 연결하여 상호 작용할 수 있습니다. 시작된 세션은 기본적으로 로컬이므로 랩톱에서 연결을 끊어도 아무런 효과가 없습니다.

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