0

我有一个 ruby​​ 脚本,我正在尝试使用我的程序中的 Process 来执行它。在某些事件之后,我想停止它的执行。我尝试使用问题中提供的解决方案发送 ctrl + c 如何将 ctrl + c 发送到 c# 中的进程?但是它对我不起作用。谁能提供更好的解决方案?下面是代码:

string command = @"/c ruby C:\MyRubyProgram GetThis GetThat";

        ProcessStartInfo start_info = new ProcessStartInfo("cmd", command);
        start_info.UseShellExecute = false;
        start_info.RedirectStandardOutput = true;
        start_info.RedirectStandardInput=true;

        Process process = new Process();
        process.StartInfo = start_info;

        process.Start();
        process.WaitForExit();

        process.StandardInput.WriteLine("\x3");
        process.StandardInput.Close();
        Console.Write(process.StandardOutput.ReadToEnd());

4

2 回答 2

0

为什么不process.Kill()呢?它应该有帮助..

于 2012-05-14T07:05:34.873 回答
0

您可以使用此代码终止该进程。当它完成时。

process.WaitForExit();
于 2014-11-25T11:18:35.283 回答