我的腳本中有以下功能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
提交
取消