В категории «Процесс» есть PerformanceCounter с именем «ID Process», который возвращает pid процесса, которому соответствует экземпляр счетчика производительности.
var cat = new PerformanceCounterCategory("Process");
var names = cat.GetInstanceNames();
foreach (var name in names.OrderBy(n => n))
{
var pidCounter = new PerformanceCounter("Process", "ID Process", name, true);
var sample = pidCounter.NextSample();
Console.WriteLine(name + ": " + sample.RawValue);
}
Это напечатает:
...
* 1008.1015 *