pub fn spawn_check_exit_status(exit_status: i32) -> Result<(), Error>
exit_status indicates the child exited abnormally
(e.g. with a nonzero exit code, or via a fatal signal).
g_child_watch_add() family of APIs return an
exit status for subprocesses encoded in a platform-specific way.
On Unix, this is guaranteed to be in the same format
and on Windows it is guaranteed to be the result of GetExitCodeProcess().
Prior to the introduction of this function in GLib 2.34, interpreting
exit_status required use of platform-specific APIs, which is problematic
for software using GLib as a cross-platform layer.
Additionally, many programs simply want to determine whether or not
the child exited successfully, and either propagate a
print a message to standard error. In that common case, this function
can be used. Note that the error message in
error will contain
human-readable information about the exit status.
error have special semantics in the case
where the process has an “exit code”, as opposed to being killed by
a signal. On Unix, this happens if WIFEXITED() would be true of
exit_status. On Windows, it is always the case.
The special semantics are that the actual exit code will be the
code set in
error, and the domain will be
This allows you to differentiate between different exit codes.
If the process was terminated by some means other than an exit
status, the domain will be
G_SPAWN_ERROR, and the code will be
This function just offers convenience; you can of course also check
the available platform via a macro such as
G_OS_UNIX, and use
WIFEXITED() and WEXITSTATUS() on
exit_status directly. Do not attempt
to scan or parse the error message string; it may be translated and/or
change in future versions of GLib.
An exit code as returned from