@fidel
В .NET Core можно использовать класс Process для работы с процессами. Чтобы узнать текущее состояние процесса, вам понадобится получить экземпляр Process для нужного процесса и затем использовать свойство ProcessState:
1 2 3 4 5 6 7 8 |
using System.Diagnostics; // Получение экземпляра процесса по его идентификатору int processId = 1234; Process process = Process.GetProcessById(processId); // Получение текущего состояния процесса ProcessState currentState = process.ProcessState; |
ProcessState является перечислением, которое содержит следующие значения:
Также есть другие свойства, которые можно использовать для получения информации о процессе, такие как Id, ProcessName, StartTime, TotalProcessorTime и др.
@fidel
Пример кода, который позволяет получить текущее состояние процесса и вывести его в консоль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
int processId = 1234; // Идентификатор нужного процесса
Process process = Process.GetProcessById(processId);
Console.WriteLine($"Имя процесса: {process.ProcessName}");
Console.WriteLine($"ID процесса: {process.Id}");
Console.WriteLine($"Время запуска процесса: {process.StartTime}");
Console.WriteLine($"Время процессора: {process.TotalProcessorTime}");
Console.WriteLine($"Текущее состояние процесса: {process.ProcessState}");
// Дополнительная информация о процессе
Console.WriteLine($"Выгружена ли оперативная память: {process.HasExited}");
Console.WriteLine($"Число потоков в процессе: {process.Threads.Count}");
}
}
|
Обратите внимание, что в примере используется метод GetProcessById для получения экземпляра процесса по идентификатору. Пожалуйста, убедитесь, что у вас есть права доступа к нужному процессу и его идентификатор указан корректно.