Отключение процесса началось с C # - PullRequest
4 голосов
/ 16 декабря 2011

У меня есть существующий код, использующий System.Diagnostics.Process.Start для запуска дочернего процесса. Он также использует ProcessStartInfo.RedirectStandardOutput для захвата выходного потока этого процесса. Это очень хорошо работает.

Мне также нужно прикрепить его к объекту задания . У меня есть код, который также делает это, и он работает нормально, если процесс еще не привязан к заданию.

К сожалению, это не всегда так, поэтому мне нужно создать процесс с флагом CREATE_BREAKAWAY_FROM_JOB. Вот где я застрял.

На мой взгляд, отсюда есть два возможных пути:

  1. Каким-то образом убедите Process.Start передать этот дополнительный маленький флажок.
  2. Отказаться от класса Process, вернуться к raw CreateProcess и (как-то) повторить перенаправление вывода.

Я не совсем уверен, как сделать что-либо из этого, или если есть какое-то среднее положение, которое также могло бы работать. Кто-нибудь еще сталкивался с этим раньше и есть какие-нибудь идеи / код?

1 Ответ

1 голос
/ 22 декабря 2011

На данный момент я выбрал вариант № 2. Я думаю, что я разработал, как сделать захват выходных данных, хотя я еще не тестировал это всесторонне.

Тем не менее, все еще интересуются альтернативными идеями.

...