在C#中,可以使用System.Diagnostics.Process
類來創(chuàng)建和管理子進(jìn)程
using System;
using System.Diagnostics;
using System.IO;
class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個新的ProcessStartInfo對象,用于配置子進(jìn)程
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "cmd.exe", // 指定要運(yùn)行的程序(例如:cmd.exe)
RedirectStandardOutput = true, // 重定向標(biāo)準(zhǔn)輸出,以便我們可以捕獲它
UseShellExecute = false, // 不使用操作系統(tǒng)shell啟動進(jìn)程
CreateNoWindow = true // 不創(chuàng)建新窗口
};
// 創(chuàng)建一個新的Process對象,用于管理子進(jìn)程
Process process = new Process
{
StartInfo = startInfo
};
// 啟動子進(jìn)程
process.Start();
// 讀取子進(jìn)程的輸出
string output = process.StandardOutput.ReadToEnd();
// 等待子進(jìn)程退出
process.WaitForExit();
// 輸出子進(jìn)程的輸出
Console.WriteLine("子進(jìn)程輸出:");
Console.WriteLine(output);
}
}
這個示例將創(chuàng)建一個新的子進(jìn)程,該子進(jìn)程運(yùn)行cmd.exe
。通過設(shè)置RedirectStandardOutput
為true
,我們可以捕獲子進(jìn)程的輸出。然后,我們使用process.StandardOutput.ReadToEnd()
方法讀取子進(jìn)程的輸出,并將其輸出到控制臺。