私はいくつかのサブプロセスをフォークするプログラムを持っています(それはセロリーワーカーを使っています)。私はすべての実行中のスレッドのスタックトレースを各プロセスにダンプしようとしています。スタックトレースを取得するのにsys._current_frames()
、スレッド名を取得するのにthreading.enumerate()
を使用しています。Pythonスレッディング: "sys._current_frames()" vs "threading.enumerate()"
何らかの理由で、私のフォークされたサブプロセスで、実際のスレッドよりも「フレーム」が多いことに気付きました。これは正常ですか?フォークからのこれらのちょうど "残り物"ですか? Pythonのバグですか?
おかげで、 Z
私はあなたの答えをありがとうと確かにドキュメントをお読みください。実際、sys._current_framesはデバッグのツールとして言及されています。私はそれを使用して周りに浮かんでいる多くのコードを見てきました、そして、私が見つけたものは、それらのほとんどを壊します。 – zvikico