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