### Method

# Vte Pty spawn_async

since: 0.48

#### Declaration [src]

    void
    vte_pty_spawn_async (
      VtePty* pty,
      const char* working_directory,
      char** argv,
      char** envv,
      GSpawnFlags spawn_flags,
      GSpawnChildSetupFunc child_setup,
      gpointer child_setup_data,
      GDestroyNotify child_setup_data_destroy,
      int timeout,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Like vte_pty_spawn_with_fds_async(), except that this function does not allow passing file descriptors to the child process. See `vte_pty_spawn_with_fds_async()` for more information.

Available since: 0.48

This method completes asynchronously. Use `vte_pty_spawn_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`working_directory`

  Type: `const char*`

  The name of a directory the command should start in, or `NULL` to use the current working directory.

  The argument can be `NULL`.
  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`argv`

  Type: An array of `filename`

  Child’s argument vector.

  The array must be `NULL`-terminated.
  The data is owned by the caller of the method.
  Each element is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows.

`envv`

  Type: An array of `filename`

  A list of environment variables to be added to the environment before starting the process, or `NULL`.

  The argument can be `NULL`.
  The array must be `NULL`-terminated.
  The data is owned by the caller of the method.
  Each element is a platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows.

`spawn_flags`

  Type: `GSpawnFlags`

  Flags from `GSpawnFlags`.

`child_setup`

  Type: `GSpawnChildSetupFunc`

  An extra child setup function to run in the child just before exec(), or `NULL`.

  The argument can be `NULL`.

`child_setup_data`

  Type: `gpointer`

  User data for `child_setup`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`child_setup_data_destroy`

  Type: `GDestroyNotify`

  A `GDestroyNotify` for `child_setup_data`, or `NULL`.

  The argument can be `NULL`.

`timeout`

  Type: `int`

  A timeout value in ms, -1 for the default timeout, or G_MAXINT to wait indefinitely.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback`, or `NULL`.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  User data for `callback`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.