我在谷歌云平台上运行python机器学习脚本。我在浏览器中通过SSH连接。当我运行代码它工作,但当我关闭浏览器它似乎停止运行。
我相信我可以让它在nohup的后台运行,但我希望能够在它打印输出时检查它。
基本上我希望能够启动脚本,关闭终端,然后从任何机器重新连接以检查其进度。任何帮助都会非常感激。
我是谷歌云平台的新手,如果其中任何一个不清楚请尽量提供更多细节。
答案 0 :(得分:3)
您可以使用名为screen
的应用程序。只需使用sudo apt-get install screen安装(如果是debian,ubuntu)。
在某些情况下,它可能已安装在您的实例中,您可以检查一下。
安装后,在终端中输入以下命令:
screen
,然后按Enter。现在,您可以从终端中的 job 开始。
需要断开连接时,可以先按Ctrl+A
,然后按d
。
会话将被断开。您可能会注意到将要显示的会话ID(例如与1498.pts-1.server
分离)
您现在可以关闭终端。
回来时,使用以下命令返回较早的会话。
screen -r *screen_id* (eg. screen -r **1498.pts-1.server**)
通过浏览器对ssh进行了谷歌云检查,它确实有效。
检查this site以获得模式详细信息。
答案 1 :(得分:1)
听起来你指的是Google Cloud Shell功能。如果是这样,那么您所希望的是不可能的,云外壳不适用于非交互式操作。来自Usage limits:
Cloud Shell仅供交互式使用。非交互式 会话将在发出警告后自动结束。
云外壳在临时计算引擎虚拟机上运行,该虚拟机仅在浏览器中的云外壳会话处于活动状态时运行。
除了在应用程序运行时保持浏览器会话处于活动状态的明显方法之外,您还可以自己配置一个非临时的计算引擎实例(一个免费的实例available),您可以{{{ 3}}并且您可以根据需要运行非交互式应用程序。