我在 ec2 实例上的 tmux 会话中运行 Jupyter。我有运行时间非常长的单元格,但是当我关闭浏览器或笔记本电脑盖子时,笔记本电脑不再写入输出单元格(并且可能会使 python 内核崩溃)。
这是我在远程实例上启动实验室的方式:
jupyter lab --ip=0.0.0.0 --port=5002 --no-browser --allow-root
我正在寻找一种解决方案,可以无限期地运行笔记本,而不会丢失数据,也不必保持本地计算机处于开启状态。
- 我不想使用 VNC 或 X-windows 转发(太慢)
- 我不想将我的代码重写为 python 脚本(仅需要在 jupyter 实验室中工作)
必须有一个解决方案!
Update:
下面的“nohup”解决方案不起作用:
运行此单元并关闭浏览器后,重新打开时没有输出:
EDIT(澄清后):
您可以使用一些 Jupyter 魔法在关闭浏览器或笔记本电脑后继续运行单元,然后在返回后打印输出。这是如何完成的:
%%capture stored_output
import time
time.sleep(30)
print("Hi")
返回后,运行以下命令:
stored_output.show()
# Hi
原来的:
您需要使用 nohup 启动笔记本。
nohup jupyter notebook &
只需添加“&”即可返回 shell。笔记本将在后台运行,当您关闭 SSH 连接时,它的进程 ID 不会被终止。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)