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;
}
ProcessStartInfo startInfo;
if (_isWindows)
{
startInfo = new ProcessStartInfo()
var startInfo = new ProcessStartInfo()
{
FileName = "taskkill",
Arguments = $"/T /F /PID {processId}",
};
var killProcess = Process.Start(startInfo);
killProcess.WaitForExit();
}
else
{
startInfo = new ProcessStartInfo()
var killSubProcessStartInfo = new ProcessStartInfo
{
FileName = "pkill",
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();
}
}
}