백그라운드 작업

백그라운드 작업

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 screen, tmux및 를 참조하십시오 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를 쉘에 전달합니다.

VNC

#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 None를 통해 보안이 충분한 경우 VNC 보안을 끄도록 추가할 수 있습니다 ssh.

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

관련 정보