Свойство exitCode
А Future , которая завершается с кодом завершения процесса при завершении процесса.
Обработка кодов завершения зависит от платформы.
В Linux и OS X нормальный код завершения будет положительным значением в диапазоне [0..255]. Если процесс был прерван из-за сигнала, код завершения будет отрицательным значением в диапазоне [-255..-1], где абсолютное значение кода завершения — номер сигнала. Например, если процесс завершился из-за нарушения сегментации, код завершения будет -11, так как у сигнала SIGSEGV номер 11.
В Windows процесс может сообщить любое 32-битное значение как код завершения. При возвращении кода завершения этот код преобразуется в знаковое значение. Некоторые специальные значения используются для сообщения о завершении из-за какого-либо системного события. Например, если процесс завершился из-за нарушения доступа, 32-битный код завершения равен 0xc0000005, что будет возвращено как отрицательное число -1073741819. Чтобы получить исходное 32-битное значение, используйте (0x100000000 + exitCode) & 0xffffffff.
Нет гарантии, что stdout и stderr завершили передачу буферизованного вывода процесса, когда завершается возвращаемое будущее. Чтобы убедиться, что весь вывод был получен, дождитесь события завершения в потоках.
Реализация
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.18.5/dart-io/Process/exitCode.html