.net core Process 类执行 top -n1 | fgrep 'Cpu(s)' 命令返回空字符串
时间: 2024-03-05 15:54:10 浏览: 55
【shell】grep命令
可能是因为您在使用 `Process` 类执行命令时,没有正确设置 `ProcessStartInfo` 对象的属性。您需要设置 `UseShellExecute` 属性为 `true`,并且将 `RedirectStandardOutput` 属性设置为 `true`,以便能够获取命令的输出。
以下是示例代码:
```
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
ProcessStartInfo psi = new ProcessStartInfo("bash", "-c \"top -n1 | fgrep 'Cpu(s)'\"");
psi.UseShellExecute = true;
psi.RedirectStandardOutput = true;
Process p = Process.Start(psi);
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine(output);
}
}
```
请注意,这个示例是在 Linux 环境下使用 bash 执行命令的,如果您使用的是 Windows 环境,请将命令修改为对应的 Windows 命令。
阅读全文