プログラムを監視していて、しばらくの間 "wait:executive" 状態になっている場合は、プログラムを強制終了したいと考えています。
Process Explorer のスクリーンショットを次に示します。
コードでその状態を取得するにはどうすればよいですか? または、その状態が正確に何を意味するのか誰かに教えてもらえますか? これは、問題を解決するための適切なクエリを見つけるのに役立つ場合があります。
プログラムを監視していて、しばらくの間 "wait:executive" 状態になっている場合は、プログラムを強制終了したいと考えています。
Process Explorer のスクリーンショットを次に示します。
コードでその状態を取得するにはどうすればよいですか? または、その状態が正確に何を意味するのか誰かに教えてもらえますか? これは、問題を解決するための適切なクエリを見つけるのに役立つ場合があります。
これは、スレッドがスケジューラ/エグゼクティブのコンポーネントを待っていることを意味します
Win32_Thread
WMI (または .net System.Diagnostics.ProcessThread WaitReason
)で取得できます
プログラムの状態ではなく、スレッドの状態です。1 つのプロセスが複数のスレッドを持つことができます。
一部の状態を判断するには、WaitForSingleObjectを呼び出します。
また、COM を使用してWin32_Thread クラスを選択して WMI をインスタンス化することもできます。
詳細はこちら: win32 スレッドが c++ で Wait または Join または Sleep 状態にあることを確認する方法