На основе других вопросов , я использую System.Diagnostics.Process
до Start
и Kill
процесс:
this.childProcess.Kill();
this.childProcess.WaitForExit();
this.childProcess.Close();
Я бы предположил, что WaitForExit
имеет дело с асинхронной природой команды Kill
, однако рассматриваемый процесс (perl.exe) отказывается умереть. Вместо этого он задерживается на некоторое время.
Этот "период времени" вызывает состояние гонки. Могу ли я в любом случае убедиться, что этот процесс действительно умирает?