私は、すべてのアクティブなプロセスをループし、タスクマネージャーに似ている(memの使用法、CPUの時間など)それらの診断チェックを行う方法を見つけたいと思います。問題は二つの部分に分かれてWindowsで実行されているすべてのプロセスを一覧表示するにはどうすればよいですか?
:診断がそれらについての属性
を見つけるのすべてのプロセス
- 私はそれについて見て行くにしても何の名前空間にはわかりません。どんなヘルプ/ヒント/リンクも感謝しています。
私は、すべてのアクティブなプロセスをループし、タスクマネージャーに似ている(memの使用法、CPUの時間など)それらの診断チェックを行う方法を見つけたいと思います。問題は二つの部分に分かれてWindowsで実行されているすべてのプロセスを一覧表示するにはどうすればよいですか?
:診断がそれらについての属性
を見つけるのすべてのプロセス
はあなたが診断プログラムの実行Processクラス
using System.Diagnostics;
...
var allProcceses = Process.GetProcesses();
を介してこれを行うことができます プロセス
のすべてを見つけるあなたがここに私たちにいくつかのより多くの情報を与えることはできますか?あなたがしたいことははっきりしていません。
プロセスクラスは、あなたに役立つかもしれませんが、少しの情報を提供します。
EDIT
OpはメモリとCPU情報を取得したいと述べています。これらのプロパティは、Processクラス(GetProcesses()によって返されます)ですぐに使用できます。以下は、サポートされているすべてのプロパティを一覧表示するMSDNページです。さまざまなメモリとCPUが用意されており、必要に応じて使用できます。
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx
コード:
あなたの使用してリストに次の行を追加します。
using System.Diagnostics;
今、あなたはProcess.GetProcesses()メソッドとプロセスのリストを取得することができ、この例に見られるように:
Process[] processlist = Process.GetProcesses();
foreach (Process theprocess in processlist) {
Console.WriteLine("Process: {0} ID: {1}", theprocess.ProcessName, theprocess.Id);
}
あなたはどのオペレーティングシステムを使用していますか?私はあなたのC#タグから、それが窓だと思っていますか?
もしそうなら、WMI、特にWin32_Processクラスをチェックしてください。ここでは、MSDNのリファレンスです:http://msdn.microsoft.com/en-us/library/aa394372(VS.85).aspx
と同様に(このようなプロセスのリストを取得するなど)、ここで使用シナリオのカップル:http://msdn.microsoft.com/en-us/library/aa394599(VS.85).aspx
すべてのプロセスを見つけることはかなり簡単actualyです:
using System.Diagnostics;
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
{
//Get whatever attribute for process
}
JaredParすでにProcess
クラスを指摘していましたので、インスタンスが作成されたときにクラスがプロセスの情報のスナップショットを取得することに注意してください。ライブビューではありません。更新するには、インスタンス上でRefresh()
に電話する必要があります。
また、プロセスを検査している間にプロセスが終了する可能性があるので、例外をキャッチしてそれに応じて処理するようにしてください。
最後に、Process.GetProcesses()
を呼び出すと、擬似プロセス「アイドル」と「システム」も取得されます。 IIRCには特定のプロセスIDがあり、簡単に除外できます。
ありがとうございました。私はこれを念頭に置いておくべきでしょう+1 – Statement
さてあなたは上記のコードを持つすべてのプロセスを返します
get-Process
2.Finding診断はそれら
get-Process | where-object { $_.Handles -gt 200 }
に関する属性
1.FindingすべてのプロセスPowerShellでこれを行うことができます200以上のハンドルで、このような方法で診断属性を簡単に指定することができます。
using System.Diagnostics;
class Program
{
static void Main()
{
Process[] processlist = Process.GetProcesses();`
}
}
の詳細については、プロセスarrrayは、それへの本プロセスの全ての数が含まれています。
蟻酸塩を改善する – GAMITG
はいこれはウィンドウです(トピック内に記載されています)。 – Statement
母は、申し訳ありませんが、私の部分で大規模な見落とし! – CapBBeard