我有一个 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());