功能

GLibspawn_async_with_fds

自:2.58

声明 [src]

gboolean
g_spawn_async_with_fds (
  const gchar* working_directory,
  gchar** argv,
  gchar** envp,
  GSpawnFlags flags,
  GSpawnChildSetupFunc child_setup,
  gpointer user_data,
  GPid* child_pid,
  gint stdin_fd,
  gint stdout_fd,
  gint stderr_fd,
  GError** error
)

说明 [src]

异步执行一个子程序。

g_spawn_async_with_pipes_and_fds() 相同,但 n_fds 设置为零,因此没有使用 FD 分配。

自以下版本开始可用:2.58

参数

working_directory

类型: const gchar*

子当前工作目录或 NULL,继承父目录(以 GLib 文件名编码)。

该参数可以是 NULL
数据由函数的调用者拥有。
该值为平台原生字符串,它在 Unix 系统上使用首选操作系统编码,在 Windows 系统上使用 UTF-8。
argv

类型: gchar* 数组

子参数向量,以 GLib 文件名编码;它必须是非空且以 NULL 结尾。

该数组必须以 NULL 结尾。
数据由函数的调用者拥有。
每个元素都是以 NUL 结尾的 UTF-8 字符串。
envp

类型: gchar* 数组

子环境或 NULL,继承父环境(以 GLib 文件名编码)。

该参数可以是 NULL
该数组必须以 NULL 结尾。
数据由函数的调用者拥有。
每个元素都是以 NUL 结尾的 UTF-8 字符串。
flags

类型: GSpawnFlags

GSpawnFlags 中的标志。

child_setup

类型: GSpawnChildSetupFunc

exec() 之前在子中运行的函数。

该参数可以是 NULL
user_data

类型: gpointer

child_setup 的用户数据。

该参数可以是 NULL
数据由函数的调用者拥有。
child_pid

类型: GPid

子进程 ID 的返回位置,或 NULL

该参数将由函数设置。
该参数可以是 NULL
函数的调用者拥有返回数据的所权,并负责释放它。
stdin_fd

类型: gint

用于子标准输入的文件描述符,或 -1

stdout_fd

类型: gint

用于子标准输出的文件描述符,或 -1

stderr_fd

类型: gint

用于子标准错误的文件描述符,或 -1

error

类型: GError **

可恢复错误 的返回位置。

该参数可以是 NULL
如果返回位置不为 NULL,那么你必须将其初始化为 NULL GError*
如果没有错误,该参数将由函数初始化并保留为 NULL
发生错误时,该参数将被设置为一个新分配的 GError;调用者将拥有该数据的所权并负责释放它。

返回值

类型: gboolean

成功时为 TRUE,设置错误时为 FALSE