flags from #VtePtyFlags
the name of a directory the command should start in, or %NULL to use the current working directory
child's argument vector
a list of environment variables to be added to the environment before starting the process, or %NULL
flags from #GSpawnFlags
an extra child setup function to run in the child just before exec(), or %NULL
user data for @child_setup
a location to store the child PID, or %NULL
a #GCancellable, or %NULL
Return: %TRUE on success, or %FALSE on error with @error filled in
GException on failure.
Starts the specified command under a newly-allocated controlling pseudo-terminal. The @argv and @envv lists should be %NULL-terminated. The "TERM" environment variable is automatically set to a default value, but can be overridden from @envv. @pty_flags controls logging the session to the specified system log files.
Note that %G_SPAWN_DO_NOT_REAP_CHILD will always be added to @spawn_flags.
Note that unless @spawn_flags contains %G_SPAWN_LEAVE_DESCRIPTORS_OPEN, all file descriptors except stdin/stdout/stderr will be closed before calling exec() in the child.
See vte_pty_new(), g_spawn_async() and vte_terminal_watch_child() for more information.