溫馨提示×

C#中如何實現子進程的同步

c#
小樊
100
2024-08-27 10:05:11
欄目: 編程語言

在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()方法等待進程退出。最后,我們讀取進程的輸出和錯誤信息,并將其輸出到控制臺。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女