0

我在远程谷歌云计算实例上有几个长时间运行的脚本(在 Jupyter Notebook 中)。

如果我失去了 ssh 连接,我无法在不停止那些正在运行的脚本(在笔记本中执行)的情况下重新连接到(正在运行的)笔记本。

似乎关闭我的 macbook 会切断我与远程(正在运行的)jupyter notebook 的连接。有没有办法在不停止脚本的情况下重新连接?

在 Google Cloud 上,Jupyter仍在运行。我只是无法连接到执行代码的笔记本——不停止代码执行。

我确信其他 Jupyter 用户已经知道了这一点:) 提前致谢

我的 GCloud 隧道脚本

gcloud compute ssh --zone us-central1-c my-compute-instance -- -N -p 22 -D localhost:5000

启动 Chrome 的 Bash 脚本

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
"localhost:22"     
--proxy-server="socks5://localhost:5000"
--host-resolver-rules="MAP * 0.0.0 , EXCLUDE localhost"
--user-data-dir=/tmp/

Nohup 在 Gcloud 上启动 Jupyter

nohup jupyter notebook --no-browser > log.txt 2>&1 &
  • 在我的 Sierra-os macbook 上,没有启用代理设置(系统偏好设置)
  • 在谷歌云上,我没有使用静态 IP,只是一个临时 IP。

提前非常感谢

4

1 回答 1

0

“无法重新连接”是什么意思?你的意思是你再也看不到笔记本界面了?(在这种情况下,这可能是一个谷歌云问题)。或者你的意思是你不能运行代码或查看以前的结果?

如果是第二个,这是一个已知问题,jupyter 团队正在处理它;解决这个问题的方法是将代码包装在 Python Futures 中,它存储中间代码;因此重新访问未来不会触发重新计算,但会显示中间结果。

于 2017-09-18T02:07:40.957 回答