阅读量: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()
方法等待进程退出。最后,我们读取进程的输出和错误信息,并将其输出到控制台。