2010-12-07 3 views
5

У нас есть 2 процесса, родительский процесс и дочерний процесс. Родительский процесс управляет жизненным циклом дочернего процесса, то есть родительский процесс запускает дочерний процесс, когда ему нужно, чтобы ребенок выполнял какую-то работу, а также убивает ребенка, когда он выполняется с ним. Чтобы убить дочерний процесс, родительский процесс использует API Process.Kill() и process.WaitForExit().Код выхода процесса, завершаемого Process.Kill() в C#

Вопросы: -

  1. Я наблюдаю, что код выхода дочернего процесса всегда -1. Кто устанавливает этот код выхода?

  2. Как я могу изменить этот код выхода?

+0

Dup of http://stackoverflow.com/questions/2455232/exit-code-of-a-process-terminated-with-process-kill-in-c-sharp – 2013-12-03 12:04:12

ответ

4
  1. process.kill
  2. No. Если вы не PInvoke TerminateProcess() самостоятельно, uExitCode аргумент.

Посмотрите на отражатель, этот материал легко найти с ним.

0

Код выхода процесса, вероятно, установлен Win32. Вы не можете его изменить. Если вы хотите изменить код выхода, не используйте Process.Kill в качестве механизма IPC. Установите событие или используйте другие примитивы IPC.

Смежные вопросы