#c# #process #git-for-windows
Вопрос:
Я использую следующий код для вызова git
с C#:
var pInfo = new ProcessStartInfo
{
FileName = "git",
Arguments = "checkout master",
UseShellExecute = false
};
using var p = Process.Start(pInfo);
Console.WriteLine(p.Id);
p.WaitForExit();
Напечатанный идентификатор процесса, скажем, 3709. Когда моя программа заканчивается, я смотрю на диспетчер задач и вижу git.exe
, что процесс все еще работает с другим идентификатором, скажем, 8865. Этот процесс продолжается бесконечно.
Мне кажется, что git
процесс, запущенный моей программой, порождает второй git
процесс, который никогда не завершается. Есть ли у меня какой-нибудь способ предотвратить такое поведение? Как бы то ни было, каждый раз, когда я запускаю свою программу, на неопределенный срок остается еще один git.exe
процесс, который со временем увеличивается, пока я не перезагрузлюсь.
(В качестве альтернативы, есть ли какой-либо другой способ вызова git
, кроме запуска исполняемого файла?)