【问题标题】:how to run process in background using gcloud ssh如何使用 gcloud ssh 在后台运行进程
【发布时间】:2019-01-11 20:36:06
【问题描述】:

我必须 gcp linux 虚拟机,我正在从一个实例到另一个实例执行 ssh 并使用以下命令运行进程,这工作正常,但是当我使用选项在后台运行进程时,该命令没有显示任何结果。

  1. gcloud compute ssh -zone {Zone-Name} {instance-name} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log' ==== 这很好用李>
  2. gcloud compute ssh -zone {Zone-Name} {instance-name} -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log &' === 这不会被执行.

【问题讨论】:

标签: ssh google-cloud-platform cloud google-compute-engine


【解决方案1】:

第二条命令有问题。

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

注意命令末尾的&。以cd 开头的引号之间的命令从左到右执行。最后一个命令nohup ./startWeblogicAdmin >> admin.log & 是放置& 的位置,这意味着在后台运行该命令。这不会产生预期的影响。

此外,nohup 需要在前台运行才能在没有终端的情况下在后台设置进程。添加& 会破坏该程序。

【讨论】:

  • 感谢您的回复,但我希望此进程在后台运行,这就是添加 & 的原因,如果这不正确,那么如何让 startWeblogic 进程在后台运行。
【解决方案2】:

您需要在命令末尾放置与符号&,这样整个SSH 将在后台运行,而不会影响发送的命令。 SSH 命令也会退出,所以如果你想保持命令运行,你应该使用nohup

nohup gcloud compute ssh --zone=ZONE INSTANCE_NAME -- 'cd /app/bin && ./clearcache && nohup ./startWeblogicAdmin >> admin.log' &

【讨论】:

    猜你喜欢
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2022-11-02
    • 2014-01-07
    相关资源
    最近更新 更多