Controlla se il processo è in esecuzione in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Controlla se il processo è in esecuzione con la funzione Process.GetProcessByName() in C#
  2. Controlla se il processo è in esecuzione con la funzione Process.GetProcessById() in C#
Controlla se il processo è in esecuzione in C#

Questo tutorial introdurrà i metodi per verificare se un processo è in esecuzione in C#.

Controlla se il processo è in esecuzione con la funzione Process.GetProcessByName() in C#

La funzione Process.GetProcessByName() ottiene tutti i processi in esecuzione con lo stesso nome in C#. La funzione Process.GetProcessByName() prende il nome del processo come input e restituisce un array di tutti i processi in esecuzione con lo stesso nome. Possiamo utilizzare questo metodo per verificare se un processo è in esecuzione o meno nel nostro sistema. Vedere il seguente esempio di codice.

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");
      }
    }
  }
}

Produzione:

Running

Nel codice precedente, abbiamo verificato se sul nostro sistema erano in esecuzione processi con il nome notepad. Abbiamo memorizzato il risultato della funzione Process.GetProcessByName("notepad") in una serie di processi. Se la lunghezza dell’array è zero, il che significa che l’array è vuoto, il processo non è in esecuzione. Se c’è anche un singolo elemento all’interno dell’array, il che significa che l’array non è vuoto, il processo con il nome specificato è in esecuzione sul nostro sistema.

Controlla se il processo è in esecuzione con la funzione Process.GetProcessById() in C#

La funzione Process.GetProcessById() ottiene un processo in esecuzione nel nostro sistema con l’id di processo specificato in C#. La funzione Process.GetProcessById() prende l’id del processo come parametro e restituisce un’istanza della classe Process con l’id specificato. Questo metodo può essere utilizzato anche per verificare se un processo è in esecuzione sul nostro sistema o meno. Il seguente esempio di codice ci mostra come possiamo controllare se un processo è in esecuzione nel nostro sistema o meno con la funzione Process.GetProcessById() in 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");
      }
    }
  }
}

Produzione:

Not Running

Nel codice precedente, abbiamo creato una funzione isRunning() che controlla se un processo è in esecuzione o meno. La funzione isRunning() accetta l’id del processo come argomento e restituisce true se il processo è in esecuzione e restituisce false se non è in esecuzione.

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