[英]how to run a python script in background in google collab?
这是我关于 stackoverflow 的第一个问题(通常我的疑惑过去常常从其他已经提出的疑惑中得到澄清,但这次我没有得到我的疑惑已经回答所以我现在直接问它)
我正在开发一款涉及一些不同类型的迷宫和谜题的游戏。因此我使用 python 进行程序生成。但是有一个问题。 我的 PC 不够强大(双核)来设计大拼图(小拼图很好,但对于更大的拼图,它看起来像是无限循环),我也不能让我的 PC 开机几个小时只是为了设计一些拼图
后来我了解了Google collab。 我检查了一下,我的 python 脚本运行良好。但我想在后台运行脚本(即使我的电脑关机,脚本也应该运行)。我该怎么做?
提前致谢
colab,即使您的 PC/浏览器停止访问 colab 运行时,也要继续运行您的脚本大约一个小时。 一个小时的空闲时间后,分配的 colab 资源将被释放,您的脚本将停止执行。
Colab 资源不能连续持有超过 9 小时。 运行时间将在最多约 9 小时后自动关闭/停止。
要在后台运行脚本,请使用以下代码,
#run the script/API in the background
import subprocess
subprocess.Popen(["python", "/content/test.py", "argument1"])
您可以使用
%%python --bg
from datetime import datetime
import time
for i in range(5):
print(datetime.now(), flush=True)
time.sleep(1)
将脚本写入文件>
%%writefile srv.py
import http.server
import socketserver
PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("serving at port", PORT)
httpd.serve_forever()
像这样运行它>
get_ipython().system_raw('python3 srv.py &')
确保它正在运行>
!ps -ef
....
root 433 1 2 04:39 ? 00:00:00 python3 srv.py
最简单的后台 colab 命令:
!while true; do nohup you_command_line >/dev/null 2>&1; sleep 5; done >/dev/null 2>&1 &
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.