답변:
여러 가지 솔루션이 있습니다.
scp
평소와 같이 전송을 시작하십시오 .bg
.disown
).exit
) 원격 시스템에서 프로세스가 계속 실행됩니다.이 방법의 한 가지 단점은 stdout 및 stderr의 파일 디스크립터에 여전히 ssh 세션의 tty에 대한 참조가 포함된다는 것입니다. 이로 인해 종료하려고하면 터미널이 정지 될 수 있습니다. ~.
ssh 클라이언트를 강제로 닫으려면 입력하여이 문제를 해결할 수 있습니다. 이스케이프 시퀀스는 새 줄을 따라야합니다 (참조 ~?
). 포기하고있는 프로세스가 stdout 또는 stderr에 쓰는 경우 tty 버퍼가 넘치면 프로세스가 조기에 종료 될 수 있습니다.
GNU Screen 을 사용하면 원격 터미널 세션을 만들 수 있으며 세션에서 로그 아웃 한 후 서버에서 분리하여 계속 실행할 수 있습니다. 그런 다음 나중에 서버에 다시 로그인하여 세션에 다시 연결할 수 있습니다.
screen -D -R <session_name>
.scp
평소와 같이 전송을 시작하십시오 .exit
)세션에 다시 연결하려면 다음을 수행하십시오.
screen -D -R <session_name>
를 사용하여 답변을 참조하십시오 nohup
.
자동화하려는 정기적 인 작업 인 경우이 방법이 가장 좋습니다.
screen -r <session>
... 그래서 그것들을 쫓아 낼 수 있다는 점 -DR
과 다릅니다 -r
. 다른 사용자가있는 경우 다시 연결하고 실패하지 않습니다.
예, 종료됩니다. 연결없이 터미널 세션을 유지하는 솔루션은 다음과 screen
같습니다.
SCREEN(1) SCREEN(1)
NAME
screen - screen manager with VT100/ANSI terminal emulation
SYNOPSIS
screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]
DESCRIPTION
Screen is a full-screen window manager that multiplexes a physical ter‐
minal between several processes (typically interactive shells). Each
virtual terminal provides the functions of a DEC VT100 terminal and, in
addition, several control functions from the ISO 6429 (ECMA 48, ANSI
X3.64) and ISO 2022 standards (e.g. insert/delete line and support for
multiple character sets). There is a scrollback history buffer for
each virtual terminal and a copy-and-paste mechanism that allows moving
text regions between windows.
-D -R
플래그를 시작으로 지정했는지 명확하게 밝히기를 원했습니다screen
. 맨 페이지를 읽고 이해하는데 도움이되지 않았습니다.-D -R Attach here and now. ...