私は、ターミナルでコードを実行すると、0.tcp.ngrok.io上のポートが起動されたことをPythonスクリプトで報告しようとしています(ngrok実行ファイルを/ usr/local/binに)サブプロセスstdoutをNgrokの変数に置き換えます。
ngrok tcp 22
私は、出力のTHS種類
ngrok by @inconshreveable (Ctrl+C to quit)
Session Status connecting
Version 2.2.4
Region United States (us)
Web Interface http://127.0.0.1:4041
Forwarding tcp://0.tcp.ngrok.io:13014 -> localhost:22
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
を得る私の最初の試みは、変数にサブプロセスの標準出力をログに記録することですが、stdoutがstdout.read環状であるとして、 ()は決して終了しませんコード
import subprocess
ngrok = subprocess.Popen(['ngrok','tcp','22'],stdout = subprocess.PIPE)
output_text = ngrok.stdout.read() # script stops here forever
[**code for getting domain:port from output_text**]
ngrokを停止することなく、変数にstdoutの「スナップショット」をどのように取得できますか?
これを行うための別の方法(次の試行がローカルホスト上のwebscrapperだろうが、そのような「トップ」などの他のコマンドのためにこの知識を持っていいだろう)事前に
おかげ