Function glib::spawn_async

source ·
pub fn spawn_async(
    working_directory: Option<impl AsRef<Path>>,
    argv: &[&Path],
    envp: &[&Path],
    flags: SpawnFlags,
    child_setup: Option<Box_<dyn FnOnce() + 'static>>
) -> Result<Pid, Error>
Expand description

Executes a child program asynchronously.

See g_spawn_async_with_pipes() for a full description; this function simply calls the g_spawn_async_with_pipes() without any pipes.

You should call g_spawn_close_pid() on the returned child process reference when you don’t need it any more.

If you are writing a GTK application, and the program you are spawning is a graphical application too, then to ensure that the spawned program opens its windows on the right screen, you may want to use GdkAppLaunchContext, GAppLaunchContext, or set the DISPLAY environment variable.

Note that the returned child_pid on Windows is a handle to the child process and not its identifier. Process handles and process identifiers are different concepts on Windows.

working_directory

child’s current working directory, or None to inherit parent’s

argv

child’s argument vector

envp

child’s environment, or None to inherit parent’s

flags

flags from SpawnFlags

child_setup

function to run in the child just before exec()

Returns

true on success, false if error is set

child_pid

return location for child process reference, or None