У меня есть существующий код, использующий System.Diagnostics.Process.Start
для запуска дочернего процесса. Он также использует ProcessStartInfo.RedirectStandardOutput
для захвата выходного потока этого процесса. Это очень хорошо работает.
Мне также нужно прикрепить его к объекту задания . У меня есть код, который также делает это, и он работает нормально, если процесс еще не привязан к заданию.
К сожалению, это не всегда так, поэтому мне нужно создать процесс с флагом CREATE_BREAKAWAY_FROM_JOB
. Вот где я застрял.
На мой взгляд, отсюда есть два возможных пути:
- Каким-то образом убедите
Process.Start
передать этот дополнительный маленький флажок.
- Отказаться от класса
Process
, вернуться к raw CreateProcess
и (как-то) повторить перенаправление вывода.
Я не совсем уверен, как сделать что-либо из этого, или если есть какое-то среднее положение, которое также могло бы работать. Кто-нибудь еще сталкивался с этим раньше и есть какие-нибудь идеи / код?