Verifique se o processo está sendo executado em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Verifique se o processo está sendo executado com a função Process.GetProcessByName() em C#
  2. Verifique se o processo está sendo executado com a função Process.GetProcessById() em C#
Verifique se o processo está sendo executado em C#

Este tutorial irá apresentar os métodos para verificar se um processo está sendo executado em C#.

Verifique se o processo está sendo executado com a função Process.GetProcessByName() em C#

A função Process.GetProcessByName() obtém todos os processos em execução com o mesmo nome em C#. A função Process.GetProcessByName() recebe o nome do processo como uma entrada e retorna um array de todos os processos em execução com o mesmo nome. Podemos usar este método para verificar se um processo está em execução ou não em nosso sistema. Veja o seguinte exemplo de código.

using System;
using System.Diagnostics;

namespace check_if_process_is_running {
  class Program {
    static void Main(string[] args) {
      Process[] processes = Process.GetProcessesByName("notepad");
      if (processes.Length == 0) {
        Console.WriteLine("Not running");
      } else {
        Console.WriteLine("Running");
      }
    }
  }
}

Resultado:

Running

No código acima, verificamos se havia algum processo com o nome notepad rodando em nosso sistema ou não. Armazenamos o resultado da função Process.GetProcessByName("notepad") em um array de processos. Se o comprimento do array for zero, o que significa que a matriz está vazia, o processo não está em execução. Se houver um único elemento dentro do array, o que significa que a matriz não está vazia, o processo com o nome especificado está sendo executado em nosso sistema.

Verifique se o processo está sendo executado com a função Process.GetProcessById() em C#

A função Process.GetProcessById() obtém um processo em execução em nosso sistema com o ID de processo especificado em C#. A função Process.GetProcessById() leva o id do processo como um parâmetro e retorna uma instância da classe Process com o id especificado. Este método também pode ser usado para verificar se um processo está sendo executado em nosso sistema ou não. O exemplo de código a seguir nos mostra como podemos verificar se um processo está sendo executado em nosso sistema ou não com a função Process.GetProcessById() em C#.

using System;
using System.Diagnostics;

namespace check_if_process_is_running {
  class Program {
    static bool isRunning(int id) {
      try {
        Process.GetProcessById(id);
      } catch (InvalidOperationException) {
        return false;
      } catch (ArgumentException) {
        return false;
      }
      return true;
    }

    static void Main(string[] args) {
      bool running = isRunning(15);
      if (running) {
        Console.WriteLine("Running");
      } else {
        Console.WriteLine("Not Running");
      }
    }
  }
}

Resultado:

Not Running

No código acima, criamos uma função isRunning() que verifica se um processo está rodando ou não. A função isRunning() leva o id do processo como um argumento e retorna true se o processo está rodando e retorna false se não está rodando.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn