在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()
方法启动子进程,并等待其退出。最后,我们获取子进程的退出代码并将其输出到控制台。