2016-03-04 109 views
0

我正在與一個C#控制檯應用程序在其中創建過程,當我殺死該進程時,它顯示該進程被殺害,但進程不會停止,並且應用程序不會退出。應用程序不退出C#

process.StartInfo.WorkingDirectory = @"C:\Users\rajgau\Documents\logstash-2.1.1\bin"; 
process.StartInfo.FileName = "cmd.exe"; 

process.StartInfo.UseShellExecute = false; 


process.StartInfo.RedirectStandardInput = true; 
process.StartInfo.RedirectStandardError = true; 
process.StartInfo.RedirectStandardOutput = true; 

process.Start(); 

process.StandardInput.WriteLine("logstash -f logstash-filename1.conf"); 

Thread.Sleep(1000 * 10); // atleast some data get loaded 
process.StandardInput.Close(); 
Console.WriteLine("{0} is active: {1}", process.Id, !process.HasExited); 
process.Kill(); 
Console.WriteLine("{0} is active: {1}", process.Id, !process.HasExited); 

而且對於退出控制檯應用程序我試圖Environment.Exit(0),但即使它沒有help.Kindly提出一些要點。

+0

答案建議如果logstash在管道項目,我相信它會拒絕一個基本殺滅。如果你不介意丟失管道,可能需要-9。 –

+0

你能用-9來幫助我嗎? – luckycse

回答