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
.