Returns a Future
which completes with the exit code of the process
when the process completes.
The handling of exit codes is platform specific.
On Linux and OS X a normal exit code will be a positive value in the range [0..255]. If the process was terminated due to a signal the exit code will be a negative value in the range [-255..-1], where the absolute value of the exit code is the signal number. For example, if a process crashes due to a segmentation violation the exit code will be -11, as the signal SIGSEGV has the number 11.
On Windows a process can report any 32-bit value as an exit
code. When returning the exit code this exit code is turned into
a signed value. Some special values are used to report
termination due to some system event. E.g. if a process crashes
due to an access violation the 32-bit exit code is 0xc0000005
,
which will be returned as the negative number -1073741819
. To
get the original 32-bit value use (0x100000000 + exitCode) &
0xffffffff
.