我的脚本中有以下功能import os, refrom pyngrok import ngrokdef server(): os.system('kill -9 $(pgrep ngrok)') ngrok.connect(443, "tcp") while True: ngrok_tunnels = ngrok.get_tunnels() url = ngrok_tunnels[0].public_url if re.match("tcp://[0-9]*.tcp.ngrok.io:[0-9]*", url) is not None: print "your url is : " + url break这负责生成一个 ngrok tcp 链接并且它可以工作,但它会卡住,如下图所示。在此处输入图像描述如何防止它被充电?只需打印链接,他们告诉我有关monitor_threadFalse 模式的信息,但我不知道如何在我的函数中配置它,在此先感谢您。
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
脚本“卡住”的原因是因为pyngrok
启动了ngrok
一个线程来监控日志,Python进程只有在处理完所有线程后才能退出。您可以停止监视器线程,如文档中所示,或者,如果您不需要它,您可以首先阻止它启动:
import os, re
from pyngrok import ngrok
from pyngrok.conf import PyngrokConfig
def server():
os.system('kill -9 $(pgrep ngrok)')
ngrok_tunnel = ngrok.connect(443, "tcp", pyngrok_config=PyngrokConfig(monitor_thread=False))
print("your url is : " + ngrok_tunnel.public_url)
但是,这仍然不会做你想要的。如果你这样做,是的,你将返回到控制台,但是进程ngrok也将停止,因为此时它是 Python 的子进程。要让隧道保持打开状态,您需要让进程保持运行状态。
添加回答
举报
0/150
提交
取消