プロセスが C# で実行されているかどうかを確認する

Muhammad Maisam Abbas 2024年2月16日
  1. C# の Process.GetProcessByName() 関数でプロセスが実行されているかどうかをチェックする
  2. プロセスが C# の Process.GetProcessById() 関数で実行されているかどうかを確認する
プロセスが C# で実行されているかどうかを確認する

このチュートリアルでは、C# でプロセスが実行されているかどうかを確認するメソッドを紹介します。

C# の Process.GetProcessByName() 関数でプロセスが実行されているかどうかをチェックする

Process.GetProcessByName() 関数は、C# で同じ名前の実行中のすべてのプロセスを取得します。Process.GetProcessByName() 関数は、プロセスの名前を入力として受け取り、同じ名前で実行されているすべてのプロセスの配列を返します。このメソッドを使用して、システムでプロセスが実行されているかどうかを確認できます。次のコード例を参照してください。

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

出力:

Running

上記のコードでは、システムで notepad という名前のプロセスが実行されているかどうかを確認しました。Process.GetProcessByName("notepad") 関数の結果をプロセスの配列に格納しました。配列の長さがゼロの場合、つまり配列が空の場合、プロセスは実行されていません。配列内に要素が 1つでもある場合、つまり配列が空ではない場合、指定された名前のプロセスがシステムで実行されています。

プロセスが C# の Process.GetProcessById() 関数で実行されているかどうかを確認する

Process.GetProcessById() 関数は、C# で指定されたプロセス ID を使用してシステムで実行されているプロセスを取得します。Process.GetProcessById() 関数は、プロセス ID をパラメーターとして受け取り、指定された ID を持つ Process クラスのインスタンスを返します。このメソッドは、プロセスがシステムで実行されているかどうかを確認するためにも使用できます。次のコード例は、C# の Process.GetProcessById() 関数を使用して、プロセスがシステムで実行されているかどうかを確認する方法を示しています。

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

出力:

Not Running

上記のコードでは、プロセスが実行されているかどうかをチェックする関数 isRunning() を作成しました。isRunning() 関数は、プロセス ID を引数として受け取り、プロセスが実行されている場合は true を返し、実行されていない場合は false を返します。

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

関連記事 - Csharp Process