These functions give access to the state of the child process and to its exit status (return code).
The timeout
parameter can take one of three values:
0
which means no timeout
-1
which means "wait until there is data to read"
a positive integer, which is the actual timeout in milliseconds
TIMEOUT_INFINITE
denotes an "infinite" timeout
(that is, wait until response is available) when waiting for an
operation to complete.
TIMEOUT_IMMEDIATE
denotes an "immediate" timeout
(in other words, no timeout) when waiting for an operation to
complete.
process_wait(handle, timeout = TIMEOUT_INFINITE)process_state(handle)
process_return_code(handle)
TIMEOUT_INFINITE
TIMEOUT_IMMEDIATE
Process handle obtained from spawn_process
.
Optional timeout in milliseconds.
process_wait()
returns an integer
exit code
of the child process or NA
if the child process has not exited
yet. The same value can be accessed by process_return_code()
.
An object of class integer
of length 1.
process_wait()
checks the state of the child process
by invoking the system call waitpid()
or
WaitForSingleObject()
.
process_state()
refreshes the handle by calling
process_wait()
with no timeout and returns one of these
values: "not-started"
. "running"
, "exited"
,
"terminated"
.
process_return_code()
gives access to the value
returned also by process_wait()
. It does not invoke
process_wait()
behind the scenes.