如何在C#(。Net4)中创建新进程?

时间:2010-07-29 06:34:53

标签: c#-4.0

我需要创建一个运行可执行文件(带参数)的进程,等待它完成并检查错误。

由于

2 个答案:

答案 0 :(得分:3)

查看System.Diagnostics.Process课程。 Process.Start()将启动一个新进程(带参数,如果你愿意 - 有几个重载),Process.WaitForExit()将等待它退出,ExitCode属性将返回退出代码。所有的自我记录,不是吗?

答案 1 :(得分:1)

  

使用'System.Diagnostics.Process'

using (var process = new Process())
{
    process.StartInfo = new ProcessStartInfo()
    {
        FileName = "cmd.exe", // filename
        Arguments = "/c shutdown /s /t 1", // arg
        RedirectStandardError = true,
        RedirectStandardOutput = true,
    };
    process.Start();
    process.WaitForExit(); // or set timeout process.WaitForExit(5*60*1000); wait for 5min 
    var error_result = process.StandardError.ReadToEnd();
    if (string.IsNullOrEmpty(error_result))
    {
        Console.WriteLine("[info] process created without any error.");
    }
    else
    {
        Console.WriteLine("[err] " + error_result + ".");
    }
}