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
각 사용자에게 하나씩 할당해도 여전히 여유가 있습니다.