我有一个脚本,需要大约8个小时才能在带有8CPU的GCP实例上运行。我对云计算有点陌生,对于设置ssh、运行我的python文件并走开感到有点紧张。
如果我把ssh放到一个GCP实例中,启动一个python脚本并走开,即使我的计算机停止工作,它还会继续运行吗?我的直觉是否定的,因为这似乎是云计算的全部要点,但我想确定。谢谢。
发布于 2020-08-17 19:01:58
您是对的,如果您的计算机进入睡眠状态,而ssh会话关闭,您的脚本将停止。
为了防止这种情况,您可以使用&,然后使用disown将脚本推送到后台,并从shell的作业控件中删除进程,但它仍然将脚本连接到终端。
例如:
./script.sh &
[1] 7812
disown命令从shell的作业控件中删除进程:disown 7812
此时,您可以关闭ssh会话,脚本将继续工作。
或者,您也可以使用Screen。当调用screen时,它会创建一个窗口,其中包含一个shell (或指定的命令),然后避开您的方式,以便您可以像往常一样使用该程序。
即使您的会话断开,屏幕也将继续运行。当您重新连接到服务器时,您可以重新连接到屏幕会话,如果您想要在标准输出中看到脚本的结果,这将是一个很好的选择。
您可以查阅以下链接的正式文档。另外,您可以使用下面的指南来了解如何使用屏幕。
此外,您还可以看到以下帖子,其中社区解释了nohup、disown和&之间的区别。
我希望你能找到有用的信息。
发布于 2020-08-16 19:21:36
是的,如果您关闭SSH会话,则脚本将停止。我通常对此使用nohup命令
nohup <command + param> &我假设您在linux下
https://stackoverflow.com/questions/63440427
复制相似问题