如何使用 gcloud ssh 在后台运行进程

如何使用 gcloud ssh 在后台运行进程

我有两个 gcp linux 虚拟机,我正在从一个实例到另一个实例进行 ssh 操作,并使用以下命令运行进程,当执行命令 #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,我想第二个示例不起作用,因为 shell 使用“&”在后台运行命令。但是当您指定命令时,ssh 不会启动任何 shell,它只是运行该命令,然后退出。

因此,如果我的假设是正确的,您需要登录到远程系统并使用类似期望的聊天语言执行命令,或者尝试将整个命令发送到本地系统的后台。像这样的东西:

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

相关内容