@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
для получения экземпляра процесса по идентификатору. Пожалуйста, убедитесь, что у вас есть права доступа к нужному процессу и его идентификатор указан корректно.