단말기에 원격접속을 시도하여 복구에 성공하였습니다. 내 옵션은 무엇입니까?

단말기에 원격접속을 시도하여 복구에 성공하였습니다. 내 옵션은 무엇입니까?

CentOs 7.7을 실행하는 컴퓨터가 있습니다. 원격으로 터미널에 접속하여 스크립트를 실행하려고 합니다. 이제 퍼티를 사용하여 SSH를 통해 서버에 연결하고 ./run_server.sh스크립트를 실행합니다. 파일 내용 run_server.sh은 다음과 같습니다(매우 단순화됨).

#!/bin/bash
run_script=(./my_calculator_server)
"${run_script[@]}"

그런 다음 두 개의 숫자를 가져와 그 합계를 출력할 수 있는 계산기 서버 실행을 시작합니다(다시 단순화됨). 문제는 Putty 프로그램을 닫으면 스크립트가 종료되고 세션도 종료된다는 것입니다. 스크립트가 종료되지 않더라도 Putty를 다시 실행하면 새 터미널 창이 열리기 때문에 다시 돌아갈 수 없습니다. 원격으로 세션에 액세스하여 상호 작용하고 언제든지 세션으로 돌아갈 수 있기를 원합니다. 가능합니까? 그렇다면 내 선택은 무엇입니까?

나는 단계별 지침을 요구하는 것이 아니라 단지 이 작업을 수행할 수 있는 방법을 찾으려고 노력하는 것뿐입니다.

PS: VNC는 옵션이 아닙니다.

답변1

문제는 해당 프로세스가 현재 쉘 세션의 하위 프로세스라는 것입니다. 쉘이 닫히면 모든 하위 프로세스가 종료됩니다. 현재 셸에서 프로세스를 취소해야 합니다.

저는 다음 세 가지 옵션을 알고 있습니다.


disown:

명령을 실행한 다음 CTRL+를 눌러 Z현재 프로세스를 일시 중지하고, run을 눌러 bg백그라운드에서 계속 실행된 다음 를 실행하세요 disown.


nohup출력을 기록하는 간단한 방법이 필요한 경우 다음을 사용하십시오.

nohup your_command &

default 라는 이름의 파일에서 명령의 출력을 찾습니다 nohoup.out.


프로세스에 다시 연결해야 하는 경우 screen또는 세션을 사용하세요.tmux


유제:

관련 정보