배경 작업

배경 작업

SSH를 통해 서버에 연결되어 있는데 시간이 오래 걸리는 프로세스를 실행하고 싶습니다. 랩톱 터미널에서 SSH를 사용하여 서버에 연결하고 있는데 랩톱을 종료할 수 있지만 서버에서는 계속 진행 중입니다. 두 대의 별도 컴퓨터이기 때문에 이 작업을 수행할 수 있을 것 같지만 SSH를 통해 수행할 수 있는지 확실하지 않습니다.

답변1

이는 &다음을 추가하는 것만큼 간단합니다.

bash script.sh &

세션을 종료하거나 터미널을 닫아도 계속 실행됩니다.
또 다른 방법은 명령을 사용 nohup하고 명령을 실행하는 것입니다. 예를 들어

nohup bash script.sh

더 많은 사용법을 찾아보고 man nohup팔로우하세요이것비슷한 방향의 질문입니다.

답변2

배경 작업

백그라운드에서 실행

program &

백그라운드에서 실행되며 연결이 끊어진 후에도 계속됩니다. 또한 stdout로 리디렉션됩니다 ~/nohup.out.

nohup program &

동일하지만 다른 파일로 리디렉션됨

nohup program > "another file" &

jobs백그라운드 작업을 보는 데 사용할 수 있는 위 명령을 참고하세요 .

동일하지만 작업 목록에서 제거됨

nohup program > "another file" & disown

영구 세션

gnu screentmux를 참조하세요 vnc. 연결이 끊어졌을 때 세션을 열어둘 수 있습니다.

게누screen

#create a screen session (do this once)
screen -d -m

#attach to the session
screen -x

여러 개의 (이름이 지정된 세션)을 가질 수도 있습니다.

#create a screen session (do this once)
screen -d -m -S a_name

#attach to the session
screen -x -S a_name

내부적으로는 ctrl_a를 사용하여 화면을 제어합니다. ctrl_a ctrl_a ctrl_a를 쉘에 전달하십시오.

가상 네트워크 컨트롤러

#create a vnc session (do this once)
vncserver -from 127.1.0.1 -geometry 1920x1000 :10

#attach to the session (from a remote machine)
ssvnc Vnc+ssh://«user»@«machine-name»:10

모니터를 수정하려면 형상을 변경하고 모니터 번호를 변경하세요.

노트:

로컬 컴퓨터의 누구나 VNC 세션에 연결할 수 있습니다.

적절한 보안이 있는 경우 추가하여 -SecurityTypes NoneVNC 보안을 끌 수 있습니다 ssh.

127.1.0.1루프백 범위 내. 로컬 컴퓨터의 프로세스만 연결할 수 있습니다. (ssvnc)를 통해 원격으로 연결할 수 있습니다 ssh. 를 사용하여 nftables연결할 수 있는 사용자를 제한 할 수 있습니다 127.1.0.1. 루프백 범위 (약 1,600만 개) 127.0.0.1에는 많은 주소가 있으므로 각 사용자에게 하나를 할당하고 여전히 무료로 사용할 수 있습니다.127.255.255.254

관련 정보