进程窗口正在关闭

时间:2015-12-10 19:05:57

标签: c#

我从我的应用程序运行ruby脚本(__FileName),这是代码

private void runToolStripMenuItem_Click(object sender, EventArgs e)
{
    var psi = new ProcessStartInfo
    {
        FileName = "ruby.exe",
        Arguments = __FileName,
        RedirectStandardOutput = true,
        RedirectStandardError = true,
        UseShellExecute = false
    };

    var p = Process.Start(psi);

    textBox2.Text = p.StandardOutput.ReadToEnd() + p.StandardError.ReadToEnd();
}

在这种情况下,即使在脚本中有命令"得到",过程窗口也会立即消失。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

  

您必须致电WaitForExit,以便您的代码阻止,直到该过程。

如果有帮助,可以使用以下代码片段静默运行进程并获取其输出。

https://gist.github.com/caioproiete/5134f24de133f7723809