Create a new process.
#include <zircon/syscalls.h> zx_status_t zx_process_create(zx_handle_t job, const char* name, size_t name_size, uint32_t options, zx_handle_t* proc_handle, zx_handle_t* vmar_handle);
zx_process_create() creates a new process.
Upon success, handles for the new process and the root of its address space
are returned. The thread will not start executing until
name is silently truncated to a maximum of
When the last handle to a process is closed, the process is destroyed.
Process handles may be waited on and will assert the signal ZX_PROCESS_TERMINATED when the process exits.
job is the controlling job object for the new process, which will become a child of that job.
job must be of type ZX_OBJ_TYPE_JOB and have ZX_RIGHT_MANAGE_PROCESS.
zx_process_create() returns ZX_OK, a handle to the new process
(via proc_handle), and a handle to the root of its address space (via
vmar_handle). In the event of failure, a negative error value is returned.
ZX_ERR_BAD_HANDLE job is not a valid handle.
ZX_ERR_WRONG_TYPE job is not a job handle.
ZX_ERR_ACCESS_DENIED job does not have the ZX_RIGHT_WRITE right (only when not ZX_HANDLE_INVALID).
ZX_ERR_INVALID_ARGS name, proc_handle, or vmar_handle was an invalid pointer, or options was non-zero.
ZX_ERR_NO_MEMORY Failure due to lack of memory. There is no good way for userspace to handle this (unlikely) error. In a future build this error will no longer occur.
ZX_ERR_BAD_STATE The job object is in the dead state.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-02-10.