使用ProcessStartInfo
和Process
我想啓動一個程序(例如getdiff.exe),然後讀取程序生成的所有輸出。後來我將以更具建設性的方式使用這些數據,我現在只想打印數據以確保數據正常工作。但是,該程序不會因爲它應該終止。有沒有人爲什麼?先進的謝謝你。使用進程時程序不終止
ProcessStartInfo psi = new ProcessStartInfo("getdiff.exe");
psi.Arguments = "DIFF";
psi.UseShellExecute = false;
psi.RedirectStandardInput = true;
psi.WorkingDirectory = "c:\\test";
Process p = Process.Start(psi);
string read = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine(p);
Console.WriteLine("Complete");
p.Close();
程序更改爲此得到它正常工作:如果
ProcessStartInfo psi = new ProcessStartInfo("getdiff.exe");
psi.Arguments = "DIFF";
psi.UseShellExecute = false;
psi.RedirectStandardInput = true;
psi.WorkingDirectory = "c:\\test";
Process p = Process.Start(psi);
StreamReader read = p.StandardOutput;
while (read.Peek() >= 0)
Console.WriteLine(read.ReadLine());
Console.WriteLine("Complete");
p.WaitForExit();
p.Close();
哪一部分沒有結束,因爲它應該?你的應用程序,還是被調用的進程? – Jaymz
爲什麼它應該終止?它是控制檯應用程序?還有別的嗎? –
這是一個更大程序中的功能。但是,單獨運行時,程序永遠不會終止。所以這不健康。 – Teletha