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 #GSpawnFlags

§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