在 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")
函数的结果存储在一系列进程中。如果数组的长度为零,这意味着该数组为空,则该进程未运行。如果数组中甚至只有一个元素,这意味着该数组不为空,则具有指定名称的进程正在我们的系统上运行。
使用 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
。
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