gcloud ssh를 사용하여 백그라운드에서 프로세스를 실행하는 방법 [닫기]

gcloud ssh를 사용하여 백그라운드에서 프로세스를 실행하는 방법 [닫기]

두 개의 gcp Linux 가상 머신이 있고 한 인스턴스에서 다른 인스턴스로 sshing하고 다음 명령을 사용하여 프로세스를 실행하고 있습니다. 명령 #1을 실행할 때는 제대로 작동하지만 백그라운드 명령 #2의 옵션을 사용할 때 프로세스를 실행할 때, 명령은 결과를 표시하지 않습니다.

gcloud compute ssh -zone {Zone-Name} {vm1} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log' ==== This works fine
gcloud compute ssh -zone {Zone-Name} {vm2} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log &' === This does not gets executed.

백그라운드에서 프로세스를 시작하는 방법이 필요합니다. VM2에서 이 SSH 세션에서 로그아웃하는 경우

답변1

gcp linux에 대해 잘 모르기 때문에 쉘이 "&"를 사용하여 백그라운드에서 명령을 실행하기 때문에 두 번째 예가 작동하지 않는 것 같습니다. 그러나 명령을 지정하면 ssh는 쉘을 시작하지 않고 명령을 실행한 다음 종료됩니다.

따라서 내 가정이 맞다면 원격 시스템에 로그인하여 원하는 채팅 언어와 같은 것을 사용하여 명령을 실행하거나 전체 명령을 로컬 시스템의 백그라운드로 보내야 합니다. 이 같은:

nohup gcloud compute ssh -zone {Zone-Name} {vm2} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log' &

관련 정보