Google cloud platform 如果我通过ssh运行一个脚本到GCP,如果我的本地机器进入睡眠状态,它会被中断吗?

Google cloud platform 如果我通过ssh运行一个脚本到GCP,如果我的本地机器进入睡眠状态,它会被中断吗?,google-cloud-platform,Google Cloud Platform,我有一个脚本,它需要大约8个小时才能在带有8CPU的GCP VM实例上运行。我对云计算有点陌生,在设置ssh、运行python文件并离开时有点紧张 如果我ssh到一个GCP虚拟机实例中,启动一个python脚本并走开,那么即使我的计算机进入睡眠状态,它还会继续运行吗?我的直觉是否定的,因为这似乎是云计算的全部观点,但我想确定。谢谢。是的,如果关闭SSH会话,脚本将停止。对此,我通常使用nohup命令 nohup <command + param> & nohup& 我假设

我有一个脚本,它需要大约8个小时才能在带有8CPU的GCP VM实例上运行。我对云计算有点陌生,在设置ssh、运行python文件并离开时有点紧张


如果我ssh到一个GCP虚拟机实例中,启动一个python脚本并走开,那么即使我的计算机进入睡眠状态,它还会继续运行吗?我的直觉是否定的,因为这似乎是云计算的全部观点,但我想确定。谢谢。

是的,如果关闭SSH会话,脚本将停止。对此,我通常使用
nohup
命令

nohup <command + param> &
nohup&

我假设您在linux下

您是对的,如果您的计算机进入睡眠状态并且您的ssh会话关闭,您的脚本将停止

为了防止出现这种情况,您可以使用
&
然后
disown
将脚本推到后台,并从shell的作业控制中删除该进程,但它仍然保持与终端的连接

例如:

  • 我运行我的脚本
  • /script.sh&

  • 我们将获取作业ID,因为它将在后台开始运行:
  • [1]7812

  • 有了这个JobID,我可以运行
    disown
    命令从shell的作业控制中删除进程:
  • disown 7812

    此时,您可以关闭ssh会话,脚本将继续工作

    或者,您也可以使用
    屏幕
    。当调用screen时,它会创建一个包含shell(或指定命令)的窗口,然后避开您的方式,以便您可以正常使用该程序

    即使您的会话断开连接,屏幕仍将继续运行。当您重新连接到服务器时,您可以重新连接到screen会话,一切都会像什么都没有发生一样。如果您希望在标准输出中看到脚本的结果,这是一个很好的选项

    您可以查阅以下方面的官方文档。 此外,您还可以使用以下内容了解如何使用屏幕

    此外,您可以看到以下内容,其中社区解释了
    nohup
    disown
    &
    之间的区别


    我希望您能发现这些信息很有用。

    我使用的是windows,但当我将ssh连接到实例中时,它会给我一个基于linux的终端(我认为)。我会研究一下nohup,尝试一下,然后再报告。谢谢。我今天开始使用
    屏幕。这正是我需要的。我认为屏幕是一个很好的选择,我找到了另一个指南。您可以检查它,以防您需要更多的屏幕示例。