exitCode 属性

Future<int> exitCode

一个 Future,当进程完成时,将完成于进程的退出码。

对于使用 ProcessStartMode.detachedProcessStartMode.detachedWithStdio 运行的进程,退出码不可用,如果使用该getter将抛出 StateError

退出码的处理是平台特定的。

在 Linux 和 OS X 上,正常退出码将是范围 [0..255] 内的正值。如果进程是由于信号而终止的,退出码将是一个范围 [-255..-1] 内的负值,其中退出码的绝对值是信号号。例如,如果进程由于段错误而崩溃,退出码将是 -11,因为 SIGSEGV 信号的编号是 11。

在 Windows 上,进程可以报告任何 32 位值作为退出码。当返回退出码时,此退出码将被转换为有符号值。一些特殊值用于报告由于某些系统事件而终止的情况。例如,如果进程由于访问违规而崩溃,32 位退出码是 0xc0000005,它将被返回为负数 -1073741819。要获取原始 32 位值,请使用 (0x100000000 + exitCode) & 0xffffffff

不能保证在返回的 future 完成时,stdoutstderr 已完成报告进程的缓冲输出。为了确保所有输出都被捕获,请等待流上的 done 事件。

实现

Future<int> get exitCode;