Если в моем приложении C# я создаю дочерний процесс, который может либо нормально завершаться, либо начать ошибочное поведение, и в этом случае я завершаю его вызовом Process.Kill(). Однако я хотел бы знать, прошел ли процесс нормально. Я знаю, что могу получить код ошибки завершенного процесса, но что будет нормальным кодом выхода и что означало бы, что процесс был убит ?Код выхода процесса, завершенного Process.Kill(), в C#
ответ
Вы можете использовать свойство ExitCode, но, к сожалению, это зависит от способа создания приложения. Поэтому, если у вас есть исходный код для приложения, убедитесь, что он корректно вернется на хороший выход. См. Эту ссылку на msdn, описывая это более подробно: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exitcode.aspx
Исходный код для Process.Kill() в показывает установку кода выхода -1 (по состоянию на сентябрь 2012 г.). Операционная система Windows на самом деле использует 32-разрядные значения без знака для кодов выхода, но я считаю, что подписанные-unsigned-> подписанные переводы в C# должны работать (мне нужно только проверить нуль или ненулевое значение, так что это не имеет значения для мой код).
С другой стороны, это, очевидно, недокументированное поведение (почему?), Поэтому Microsoft может изменить его завтра и разбить мой код, установив код выхода на 0.
- 1. Код выхода процесса, завершаемого Process.Kill() в C#
- 2. Process.Kill() и события процесса
- 3. Определить pid завершенного процесса
- 4. Получить последний рабочий каталог завершенного процесса
- 5. Неверный код выхода процесса Windows (C#/C++/etc.)?
- 6. обратный код выхода из процесса в оболочке
- 7. Прослушать код выхода фонового процесса в MakeFile
- 8. Захватив код выхода статус дочернего процесса
- 9. jQuery FileUpload callback для завершенного процесса
- 10. C# Начало процесса на Mac - FFMPEG - Код выхода 1
- 11. shell - получить код выхода фонового процесса
- 12. Получить код выхода из не-дочернего процесса
- 13. Код выхода процесса Когда процесс убит принудительно
- 14. проверка возможный код выхода фонового процесса
- 15. .NET Process.Kill() безопасным способом
- 16. Выполнение процесса msbuild через код получает код выхода -1073741502
- 17. Различные способы выхода из процесса в C++
- 18. код выхода 3221225477 C++
- 19. Обнаружение отдельного процесса выхода из процесса Windows C#
- 20. Состояние выхода процесса распечатывается до его выхода
- 21. Отменить запрос без выхода из процесса
- 22. C# - Перенаправление процесса выхода сервера игры (UDK)
- 23. Обнаружение завершенного приложения
- 24. Process.Kill() возвращает доступ denied
- 25. Process.kill, похоже, не работает
- 26. Как узнать код выхода процесса в фоновом режиме
- 27. Получить код выхода из не-дочернего процесса в Linux
- 28. Получить код выхода из процесса подачи в трубку
- 29. Ждите произвольного процесса и получите его код выхода в Linux
- 30. Предсказуемый код выхода с разбивкой процесса в Windows