SSH 연결 끊기 후에 프로그램을 계속 실행하는 방법은 무엇입니까? [복제]


15

가능한 중복 :
프로그램이 시작된 후 콘솔을 닫은 후 프로그램을 계속 실행하십시오.
ssh를 사용하여 원격 Unix 시스템에서 명령을 실행하고 명령이 완료되기 전에 종료하려면 어떻게해야합니까?

안녕하세요!

원격 서버에 SSH 연결하여 노트북에서 프로그램을 실행하고 싶습니다. 문제는 노트북으로 집에 가고 있다는 것입니다. :)

프로그램을 계속 실행하는 방법?

답변:


22

'스크린'은 아마도 당신이 원하는 것입니다. 그것은 당신이 원하는대로 연결을 끊었다가 다시 연결할 수 있습니다. 서버에 SSH를 연결 한 후 프로그램을 시작하기 전에 화면을 실행하십시오. Ctrl-a, Ctrl-d는 연결을 끊습니다 (프로그램은 관계없이 계속됩니다). 돌아 왔을 때, 'screen -r'은 마치 마치 본 적이없는 것처럼 다시 연결됩니다.

텍스트 터미널의 경우 VNC 또는 RDP로 생각하십시오. 많은 자습서에서 '화면 사용'을 검색하십시오.

추가 편집 : 요즘 에는 특히 tmx 스크립트와 함께 사용하는 경우 tmux 를 권장 합니다. 분할 창을 (수직 및 수평으로) 분할하고 크기를 조정할 수있는 기능은 화면에 크게 영향을줍니다.


5
또한 연결 시간이 초과되거나 연결되어있는 동안에도 화면이 계속 실행됩니다. 몇 가지 유용한 명령 : ctrl + a, ctrl + d = 화면에서 분리, screen -r = 화면에 다시 연결, screen -x = 공유 모드에서 화면에 연결 (티칭 등에 사용할 수 있음, 두 명의 사용자가 공유 가능) 동일한 화면), ctrl + a, esc = 스크롤 모드로 들어갑니다 (q를 눌러 다시 종료). 참고 : "screen program"을 입력하여 화면을 시작하면 즉시 화면에서 프로그램이 시작되지만 종료되면 버퍼가 손실됩니다. "스크린"만 입력하면 지속적인 터미널이 제공됩니다.

Chris, 유용한 답변을위한 tnx

18

nohup 다른 명령을 실행하고 "hangup"신호에 영향을주지 않는 명령입니다.

다음과 같이 간단하게 실행합니다.

nohup command

그러나 stdin, stdout 및 stderr을 리디렉션해야합니다. 자세한 내용은 매뉴얼 페이지를 참조하십시오.

또한 배경에 넣고 싶을 것입니다.

또한 kill결국 명령을 종료 하여 명령을 종료 해야 합니다.


예, 많은 tnx! so easy))

이것이 내가 사용하는 것입니다. 매우 쉽습니다. teestdin, stdout 및 stderr을 리디렉션하는 데 사용하십시오 .
Ritwik Bose
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.