为了账号安全,请及时绑定邮箱和手机立即绑定

使用 pyngrok 时如何防止加载我的 python 程序?

使用 pyngrok 时如何防止加载我的 python 程序?

30秒到达战场 2023-04-25 16:28:59
我的脚本中有以下功能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 的子进程。要让隧道保持打开状态,您需要让进程保持运行状态。


查看完整回答
反对 回复 2023-04-25
  • 1 回答
  • 0 关注
  • 57 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信