Fixed how processes are killed on Linux

This commit is contained in:
John Luo 2016-02-26 16:51:53 -08:00
parent 24d4c027b1
commit 82d3269b45
1 changed files with 14 additions and 6 deletions

View File

@ -59,26 +59,34 @@ namespace Microsoft.DotNet.Watcher.Core
return; return;
} }
ProcessStartInfo startInfo;
if (_isWindows) if (_isWindows)
{ {
startInfo = new ProcessStartInfo() var startInfo = new ProcessStartInfo()
{ {
FileName = "taskkill", FileName = "taskkill",
Arguments = $"/T /F /PID {processId}", Arguments = $"/T /F /PID {processId}",
}; };
var killProcess = Process.Start(startInfo);
killProcess.WaitForExit();
} }
else else
{ {
startInfo = new ProcessStartInfo() var killSubProcessStartInfo = new ProcessStartInfo
{ {
FileName = "pkill", FileName = "pkill",
Arguments = $"-TERM -P {processId}", Arguments = $"-TERM -P {processId}",
}; };
var killSubProcess = Process.Start(killSubProcessStartInfo);
killSubProcess.WaitForExit();
var killProcessStartInfo = new ProcessStartInfo
{
FileName = "kill",
Arguments = $"-TERM {processId}",
};
var killProcess = Process.Start(killProcessStartInfo);
killProcess.WaitForExit();
} }
var killProcess = Process.Start(startInfo);
killProcess.WaitForExit();
} }
} }
} }