свойство exitCode
Future, которое завершается с кодом выхода процесса после его завершения.
Обработка кодов выхода зависит от платформы.
В Linux и OS X нормальный код выхода — положительное значение в диапазоне [0..255]. Если процесс был завершён из-за сигнала, код выхода будет отрицательным значением в диапазоне [-255..-1], где абсолютное значение кода выхода соответствует номеру сигнала. Например, если процесс аварийно завершится из-за ошибки сегментации, код выхода будет равен -11, поскольку сигнал SIGSEGV имеет номер 11.
В Windows процесс может сообщить любое 32-битное значение в качестве кода выхода. При возврате кода выхода это значение преобразуется в знаковое. Некоторые специальные значения используются для сообщения о завершении из-за системного события. Например, если процесс аварийно завершится из-за нарушения прав доступа, 32-битный код выхода будет равен 0xc0000005 и будет возвращён как отрицательное число -1073741819. Чтобы получить исходное 32-битное значение, используйте (0x100000000 + exitCode) & 0xffffffff.
Нет гарантии, что stdout и stderr завершат передачу буферизованных данных процесса к моменту завершения возвращённого future. Чтобы гарантированно получить весь вывод, дождитесь события done в потоках.
Реализация
Future<int> get exitCode;
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-io/Process/exitCode.html