Project: /_project.yaml Book: /_book.yaml
Defined in fuchsia.process/launcher.fidl
A low-level interface for launching processes.
This interface is used for manually assembling a process. The caller supplies all the capabilities for the newly created process.
That create processes typically use fdio_spawn
or fdio_spawn_etc
rather than using this interface directly. The fdio_spawn
and fdio_spawn_etc
functions are implemented using this interface.
Debuggers and other clients that need to create processes in a suspended state often use this interface directly. These clients use the CreateWithoutStarting
method to create the process without actually starting it.
Creates and starts the process described by info
.
After processing this message, the Launcher
is reset to its initial state and is ready to launch another process.
process
is present if, and only if, status
is ZX_OK
.
Creates the process described by info
but does not start it.
After processing this message, the Launcher
is reset to its initial state and is ready to launch another process.
The caller is responsible for calling zx_process_start
using the data in ProcessStartData
to actually start the process.
data
is present if, and only if, status
is ZX_OK
.
Adds the given arguments to the command-line for the process.
Calling this method multiple times concatenates the arguments.
Adds the given variables to the environment variables for the process.
Calling this method multiple times concatenates the variables.
Adds the given names to the namespace for the process.
The paths in the namespace must be non-overlapping. See https://fuchsia.googlesource.com/fuchsia/+/master/docs/the-book/namespaces.md for details.
Calling this method multiple times concatenates the names.
Adds the given handles to the startup handles for the process.
Calling this method multiple times concatenates the handles.
Defined in fuchsia.process/resolver.fidl
An interface for resolving names to executables and library loaders.
An executable itself is often not sufficient to create a working process because many executables also load shared libraries. On Fuchsia, there is no global pool of shared libraries. Instead, every process has an associated fuchsia.ldsvc.Loader
, which provides access to a private pool of shared libraries appropriate for that process.
This interface provides a protocol for resolving a name into both the handle<vmo>
for the executable and the fuchsia.ldsvc.Loader
for its associated shared libraries.
This interface is rarely used directly. Instead, fdio_spawn
and fdio_spawn_etc
use this interface internally when they try to run a file with a #!resolve
directive.
Resolves the given name
to an executable
and an shared library loader.
If present, the executable
is suitable for use as the executable
property of LaunchInfo
. If present, the ldsvc
is suitable for use as the PA_LDSVC_LOADER
handle when launching the process.
For example, the resolver might locate the given name
inside a package and return the executable binary from the package as well as a shared library loader scoped to that package.
Defined in fuchsia.process/launcher.fidl
Information about a handle provided to a process at startup.
Processes are given a set of initial handles as part of the bootstrapping sequence. Some of these handles are associated with zx.procarg identifiers that designate their intended use by the new process.
This structure represents one such handle and its associated zx.procarg identifier.
See <zircon/processargs.h> for definitions of well-known process arguments.
Defined in fuchsia.process/launcher.fidl
A namespace entry provided to a process at startup.
Processes are given a set of initial handles as part of the bootstrapping sequence. Some of these handles are associated with paths that designate their intended use by the new process as namespace entries.
This structure represents one such handle and its associated namespace path.
Must be an absolute path (i.e., start with ‘/’).
Defined in fuchsia.process/launcher.fidl
The information needed to launch a process.
Defined in fuchsia.process/launcher.fidl
The information required to start a process.
To start the process, call zx_process_start
with the arguments provided.
See https://fuchsia.googlesource.com/fuchsia/+/master/docs/zircon/syscalls/process_create.md.
Should be passed to zx_process_start
when starting the process.
Should be passed to zx_process_start
when starting the process.
Should be passed to zx_process_start
when starting the process.
Should be passed to zx_process_start
when starting the process.
Should be passed to zx_process_start
when starting the process.
Most often used by debuggers or other tools that inspect the process.