C#实现在cmd正在运行process1时另起cmd再执行process2并返回process2的输出
时间: 2024-10-28 09:11:19 浏览: 8
C#隐式运行CMD命令(隐藏命令窗口)
在C#中,你可以使用`Process`类以及`RedirectStandardOutput`属性来实现这个需求。首先,你需要创建两个`Process`实例分别代表`process1`和`process2`。以下是一个简单的示例:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
// 启动process1
Process process1 = new Process();
process1.StartInfo.FileName = "path_to_process1";
process1.StartInfo.UseShellExecute = false; // 关闭shell启动,防止阻塞
process1.StartInfo.RedirectStandardOutput = true;
process1.Start();
// 等待process1完成执行,获取其输出
string output1 = process1.StandardOutput.ReadToEnd();
Console.WriteLine("Process1 Output: " + output1);
// 同时启动process2,并捕获其输出
Process process2 = new Process();
process2.StartInfo.FileName = "path_to_process2";
process2.StartInfo.UseShellExecute = false;
process2.StartInfo.RedirectStandardOutput = true;
process2.Start();
// 同样等待process2完成并获取输出
string output2 = process2.StandardOutput.ReadToEnd();
Console.WriteLine("Process2 Output: " + output2);
}
}
```
注意替换`"path_to_process1"`和`"path_to_process2"`为实际的进程路径。这段代码会在`process1`还在执行的同时启动`process2`,并且分别读取它们的输出。
阅读全文