C#中如何实现子进程的同步

avatar
作者
猴君
阅读量:0

在C#中,可以使用Process类创建子进程,并通过设置ProcessStartInfo的属性来实现子进程的同步

using System; using System.Diagnostics;  class Program {     static void Main(string[] args)     {         // 创建一个新的Process对象         Process process = new Process();          // 配置ProcessStartInfo         process.StartInfo.FileName = "notepad.exe"; // 要启动的程序路径         process.StartInfo.UseShellExecute = false; // 不使用操作系统shell启动进程         process.StartInfo.CreateNoWindow = true; // 不创建新窗口         process.StartInfo.RedirectStandardOutput = true; // 重定向标准输出         process.StartInfo.RedirectStandardError = true; // 重定向错误输出          // 启动进程         process.Start();          // 等待进程退出         process.WaitForExit();          // 读取进程的输出和错误信息         string output = process.StandardOutput.ReadToEnd();         string error = process.StandardError.ReadToEnd();          // 关闭进程         process.Close();          // 输出结果         Console.WriteLine("Output: " + output);         Console.WriteLine("Error: " + error);     } } 

在这个示例中,我们创建了一个新的Process对象,并配置了ProcessStartInfo以启动Notepad程序。我们将UseShellExecute设置为false,以便可以同步等待进程退出。然后,我们调用process.Start()启动进程,并使用process.WaitForExit()方法等待进程退出。最后,我们读取进程的输出和错误信息,并将其输出到控制台。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!