Google cloud platform 谷歌云实例在关闭浏览器后终止

Google cloud platform 谷歌云实例在关闭浏览器后终止,google-cloud-platform,google-compute-engine,Google Cloud Platform,Google Compute Engine,我有一个bash脚本。我想在谷歌云服务器上连续运行它。我在浏览器中通过SSH连接到虚拟机,但在关闭浏览器后,脚本被停止。 我尝试使用Cloud Shell,但如果我重新启动笔记本电脑,脚本将从一开始启动。它不能连续工作! 是否可以在google cloud中启动我的脚本,关闭笔记本电脑并确保我的脚本工作正常?您有以下选项: 1. - 其中包括。检查。通过这个, 2.使用 我执行了以下测试,它对我有效: 我将SSH-d插入其中,并创建了以下脚本,myscript.bash: #!/bin/bas

我有一个bash脚本。我想在谷歌云服务器上连续运行它。我在浏览器中通过SSH连接到虚拟机,但在关闭浏览器后,脚本被停止。 我尝试使用Cloud Shell,但如果我重新启动笔记本电脑,脚本将从一开始启动。它不能连续工作!
是否可以在google cloud中启动我的脚本,关闭笔记本电脑并确保我的脚本工作正常?

您有以下选项:
1. - 其中包括。检查。通过这个,
2.使用

我执行了以下测试,它对我有效:
我将SSH-d插入其中,并创建了以下脚本,
myscript.bash

#!/bin/bash          
          sleep 15s
          echo Hello World > result.txt
然后,跑
$bash myscript.bash

并立即关闭保存SSH会话的浏览器窗口。
然后,我等待了至少15秒钟,重新与相关VM建立了SSH连接,然后运行
$ls
,瞧:
myscript.bash result.txt

因此,即使在关闭保持SSH会话的浏览器后,脚本也会运行。

不过,从技术上讲,我相信你的解决方案取决于1。或2.

解决方案:GNU屏幕。这个很棒的小工具可以让你在ssh连接到远程服务器后运行一个进程,然后与它分离——让它像在前台运行一样运行(而不是在后台停止)

因此,在我们通过ssh连接到GCE虚拟机之后,我们需要: 1.安装GNU屏幕:
apt获取更新
apt获得升级
apt获取安装屏幕

  • 键入“屏幕”。这将打开一个新的屏幕-类似的外观和感觉什么“清晰”将导致
  • 运行进程(例如:./init-dev.sh以启动ChicagoBoss erlang服务器)
  • 键入:Ctrl+A,然后Ctrl+D。这将分离屏幕会话,但保持进程运行
  • 请随意关闭SSH终端。只要您愿意,就用ssh将其连接回您的GCE虚拟机,然后键入screen-r以恢复先前分离的会话
  • 要关闭所有分离的屏幕,请运行: 屏幕-ls | grep pts |切割-d-f1 | awk'{print$1}'| xargs kill
  • 你可以用

    nohup yourscript.sh > output_log_file.log
    

    我也面临类似的问题。我通过本地机器上的google cloud命令登录到虚拟机,试图通过关闭终端退出,它停止了实例中运行的脚本


    使用命令
    exit
    在本地计算机
    putty
    控制台中注销云控制台(两次)。

    确保在创建VM实例时未启用“抢占实例”。
    它将强制在24小时内关闭实例,以通过巨大的差异降低成本。

    我有一个NodeJS项目,我用pm2解决了这个问题。

    我认为问题在于GCP云计算VM如何以及为什么在关闭ssh浏览器连接时关闭。