답변:
당신은 이것을 진술합니다 :
SSH를 종료 한 후에도이 앱 (서버)이 유지되기를 원하며 언제든지 콘솔에 다시 연결하여 서버에서 명령을 실행할 수 있기를 원합니다.
목표가 약간 모호하지만, 나는 그것을 찌르겠습니다!
Linux 서버에서 백그라운드 프로세스로 명령을 실행하려면 명령 앞에 nohup
추가 &
하고 끝에 추가 해야합니다.
따라서 최종 명령은 다음과 같습니다.
nohup [your command] &
이는 nohup
명령이 "hang ups"를 무시해야하며 앰퍼샌드가 &
추가되면 시스템이 백그라운드 프로세스로 명령을 실행하도록 지시하는 쉘 명령입니다. 사용법에 대한 자세한 내용은 여기를 참조하십시오 .
이와 같은 명령을 실행하면 프로세스가 실행되고 명령 프롬프트로 돌아가서 터미널 세션을 종료하거나 해당 터미널 세션 중에 해당 명령과 관련이없는 다른 작업을 수행 할 수도 있습니다.
tail -f nohup.out
. 동일한 작업으로 실행 하십시오. dir.
이 작업을 수행하는 방법에는 적어도 세 가지가 있습니다 : nohup
( 'no hang up') screen
/ / tmux
또는 disown
. 서버에 연결하고 연결을 끊은 후 데몬과 상호 작용해야한다는 질문에 대해서는 분명하지 않습니다.
이 경우입니다, 경우 nohup
및 disown
이 과정을 떼면 (가 실행 계속하지만) 좋은 경기를하지 않습니다. tmux
(및 screen
)은 귀하가 언제라도 용어를 계속 운영합니다.
자세한 내용은 해당 페이지를 참조하십시오.
man nohup
man tux
Bash disown ( Bash를 실행한다고 가정하지만 다른 많은 쉘에는 비슷한 것이 포함되어 있음)
disown
Google 클라우드 에는 명령을 사용 하지 않는 것 같습니다 . 최소한 2019 년 또는 2018 년 말에 시작한 인스턴스입니다.이 nohup
명령은 정상적으로 작동하지만 원하지 않는 추가 파일을 생성합니다.
또한 nohub이 작동하지 않으면 screen을 사용할 수 있습니다 .
ssh into your remote box.
type screen 그런 다음 원하는 프로세스를 시작하십시오.
Press Ctrl-A then Ctrl-D.
그러면 화면 세션이 분리되지만 프로세스는 계속 실행됩니다. 이제 원격 박스에서 로그 아웃 할 수 있습니다.
If you want to come back later, log on again and type screen -r This will resume your screen session, and you can see the output
의
당신의 과정.