首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我通过ssh运行一个脚本到GCP,那么如果我的本地机器停止工作,它会被中断吗?

如果我通过ssh运行一个脚本到GCP,那么如果我的本地机器停止工作,它会被中断吗?
EN

Stack Overflow用户
提问于 2020-08-16 18:14:22
回答 2查看 777关注 0票数 4

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

如果我把ssh放到一个GCP实例中,启动一个python脚本并走开,即使我的计算机停止工作,它还会继续运行吗?我的直觉是否定的,因为这似乎是云计算的全部要点,但我想确定。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-17 19:01:58

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

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

例如:

  1. 我运行我的脚本

./script.sh &

  1. 我们将获得JobID,因为它将开始在后台运行:

[1] 7812

  1. 使用此JobID,我可以运行disown命令从shell的作业控件中删除进程:

disown 7812

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

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

即使您的会话断开,屏幕也将继续运行。当您重新连接到服务器时,您可以重新连接到屏幕会话,如果您想要在标准输出中看到脚本的结果,这将是一个很好的选择。

您可以查阅以下链接的正式文档。另外,您可以使用下面的指南来了解如何使用屏幕。

此外,您还可以看到以下帖子,其中社区解释了nohupdisown&之间的区别。

我希望你能找到有用的信息。

票数 3
EN

Stack Overflow用户

发布于 2020-08-16 19:21:36

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

代码语言:javascript
复制
nohup <command + param> &

我假设您在linux下

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63440427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档