我正在处理远程服务器上的问题(我使用ssh进行连接)。由于我是该域的新手,因此我正在使用jupyter-notebook,以便可以进行检查和编码。 我的代码中的某些部分需要很长时间才能运行(例如4-5个小时),而我却无法维持那么长时间的连接。 关闭外壳后如何保持代码运行?我是否应该将其复制到.py文件并使用tmux或screen之类的命令?
答案 0 :(得分:2)
使用屏幕。
$屏幕
这将创建一个屏幕会话,完成后,您可以使用ctrl-a-d键断开连接。
要返回:
$屏幕-列表
这将显示分离的屏幕会话的列表。连接
$屏幕-r
答案 1 :(得分:0)
我也使用PM2, the Node.js process manager,它也可用于Python脚本(以及更多其他语言)。
安装,然后使用以下代码启动代码:
pm2 start your_code.py
列出您正在运行的进程:
pm2 list
是的,您可以根据需要从一个终端启动多个脚本。
使用以下内容查看日志:
pm2 logs
PM2默认在错误或终止后重新启动脚本。为防止这种情况,并让您的代码仅运行一次,请添加--no-autorestart
标志:
pm2 start your_code.py --no-autorestart
退出终端后,进程继续运行,重新登录到服务器实例后,进程才可用。您还可以设置PM2,以便在实例重新启动后重新启动脚本。