.net core 通过命令判断Linux 进程是否存在
时间: 2024-02-07 11:03:48 浏览: 69
判断进程是否存在
在 .NET Core 中,你也可以通过执行命令来判断 Linux 进程是否存在。具体做法是使用 `System.Diagnostics.Process` 类执行 `ps` 命令,并解析输出结果。以下是一个示例代码:
```csharp
using System.Diagnostics;
public static bool IsProcessRunning(string processName)
{
Process process = new Process();
process.StartInfo.FileName = "/bin/bash";
process.StartInfo.Arguments = $"-c \"ps aux | grep {processName} | grep -v grep\"";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
return !string.IsNullOrEmpty(output);
}
```
该代码会执行 `ps aux | grep {processName} | grep -v grep` 命令,查找进程名为 `processName` 的进程,并排除掉 `grep` 命令本身。如果输出结果不为空,则表示该进程正在运行。
阅读全文