我发现了一些这样的代码。它运行一个进程,然后将它写入的内容打印到标准输出。问题是,在进程退出之前它不会打印任何东西,这可能需要很长时间(或根本不需要)。因此,我宁愿按原样打印输出。我怎样才能做到这一点?
var startInfo = new ProcessStartInfo("cmd", "/c sleepy.bat")
{RedirectStandardOutput = true, UseShellExecute = false, CreateNoWindow = true };
var p = new Process(){StartInfo = startInfo};
p.Start();
string output = p.StandardOutput.ReadToEnd();
Console.WriteLine(output);
sleepy.bat
可能在哪里
echo "About to execute really slow query.."
sleep 20
echo "Finished!"