在C#中,可以使用System.Diagnostics.Process
類來創(chuàng)建子進(jìn)程
using System;
using System.Diagnostics;
namespace CreateSubprocessExample
{
class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個(gè)新的ProcessStartInfo對象,用于配置子進(jìn)程
ProcessStartInfo startInfo = new ProcessStartInfo
{
// 設(shè)置要啟動的應(yīng)用程序的文件名
FileName = "notepad.exe",
// 設(shè)置是否使用操作系統(tǒng)shell啟動進(jìn)程
UseShellExecute = true,
// 設(shè)置是否將子進(jìn)程的輸出重定向到當(dāng)前進(jìn)程
RedirectStandardOutput = false,
// 設(shè)置是否將子進(jìn)程的錯誤輸出重定向到當(dāng)前進(jìn)程
RedirectStandardError = false,
// 設(shè)置是否將當(dāng)前進(jìn)程的輸入重定向到子進(jìn)程
RedirectStandardInput = false,
// 設(shè)置子進(jìn)程是否在新窗口中啟動
CreateNoWindow = false
};
try
{
// 使用ProcessStartInfo對象啟動子進(jìn)程
using (Process process = Process.Start(startInfo))
{
// 等待子進(jìn)程退出
process.WaitForExit();
// 獲取子進(jìn)程的退出代碼
int exitCode = process.ExitCode;
Console.WriteLine($"子進(jìn)程已退出,退出代碼:{exitCode}");
}
}
catch (Exception ex)
{
Console.WriteLine($"啟動子進(jìn)程時(shí)發(fā)生錯誤:{ex.Message}");
}
}
}
}
在這個(gè)示例中,我們創(chuàng)建了一個(gè)新的ProcessStartInfo
對象,并設(shè)置了一些屬性來配置子進(jìn)程。然后,我們使用Process.Start()
方法啟動子進(jìn)程,并等待其退出。最后,我們獲取子進(jìn)程的退出代碼并將其輸出到控制臺。