.net - 以编程方式运行可执行文件 .NET

标签 .net process executable

我想在 .NET 服务器端代码中执行程序。

到目前为止我有这个:

    Process p = new Process();  
    p.StartInfo.FileName = "myProgram.exe";
    p.StartInfo.Arguments = " < parameter list here > ";
    p.Start();
    p.Close();

这是一个控制台程序。发生的情况是控制台不断地打开和关闭。

最佳答案

你想要,

Process p = new Process();  
    p.StartInfo.FileName = "myProgram.exe";
    p.StartInfo.Arguments = " < parameter list here > ";
    p.Start();
    p.WaitForExit();

您的代码中发生的情况是您启动该进程并立即关闭它, 你需要的是调用 WaitForExit() 它实际上等待进程自行关闭,

要在应用程序关闭之前打印输出:

Process p = new Process();  
p.StartInfo.FileName = "myProgram.exe";
p.StartInfo.Arguments = " < parameter list here > ";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
p.WaitForExit();
Console.WriteLine(p.StandardOutput.ReadToEnd());

关于.net - 以编程方式运行可执行文件 .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3285000/

相关文章:

Linux API 用于在多核进程中创建新进程

c - Fork() 父级和子级

一个进程可以有多个标准输出和标准输入吗?

linker - 为什么需要一个目标文件来生成可执行文件?

Linux 命令行更改 Windows 可执行程序集信息

c# - 如何在 .NET 中解析 UDP 数据包?

c# - DbContext 与 Ninject ADO.NET

java - 寻找 .NET 3.5/J2EE 体系结构概念比较文章/图表

c# - 如何以不错的速度在 C#/WinForms 中绘图?

lisp - CCL 保存应用程序,Clisp Saveinitmem,问题