Как получить использование ЦП на основе идентификатора процесса, а не имени процесса - PullRequest
0 голосов
/ 19 мая 2018

Итак, у меня есть это приложение, которое запускает новый экземпляр процесса Java.Нет другого способа отличить различные процессы Java, запущенные на моем ПК, кроме идентификатора процесса.Кроме того, скажем, я должен был просто ввести имя, если процесс получит случайный характер, и он просто не будет работать хорошо, а также то, что если я отправлю заявку своему другу, и анем процесса будет другим.Это было бы просто плохо.

Так что я искал, как получить загрузку процессора на основе определенного идентификатора процесса.Я понятия не имею, как это сделать, хотя я изучил класс Performance Counter, но он, похоже, не принимает идентификатор процесса в качестве одного из его параметров.

Как правильно оценить приведенное использование ЦПконкретный идентификатор процесса?

1 Ответ

0 голосов
/ 19 мая 2018

Это может помочь

public static string GetProcessInstanceName(int PID)
{
    PerformanceCounterCategory cat = new 
PerformanceCounterCategory("Process");
var[] instances = cat.GetInstanceNames();
foreach (var instance in instances)
{
    using (PerformanceCounter cnt = new 
PerformanceCounter("Process", "ID Process", instance, 
true))
    {
        int val = System.Convert.ToInt32(cnt.RawValue);
        if (val == PID)
            return instance;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...