功能

GLibspawn_async_with_pipes

声明 [src]

gboolean
g_spawn_async_with_pipes (
  const gchar* working_directory,
  gchar** argv,
  gchar** envp,
  GSpawnFlags flags,
  GSpawnChildSetupFunc child_setup,
  gpointer user_data,
  GPid* child_pid,
  gint* standard_input,
  gint* standard_output,
  gint* standard_error,
  GError** error
)

描述 [src]

等同于 g_spawn_async_with_pipes_and_fds()n_fds 设为零,因此不会使用 FD 分配。

参数

working_directory

类型: const gchar*

子进程的当前工作目录,或 NULL 表示继承父进程工作目录,采用 GLib 文件名编码。

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

类型: filename 数组

子进程的参数向量,采用 GLib 文件名编码;它必须非空并以 NULL 结尾。

数组必须以 NULL 结尾。
数据由函数调用者所有。
每个元素都是平台原生字符串,在 Unix 上采用首选操作系统编码,在 Windows 上采用 UTF-8。
envp

类型: filename 数组

child's environment, or `NULL` to inherit parent's, in the GLib file
name encoding.
该参数可以是 NULL
数组必须以 NULL 结尾。
数据由函数调用者所有。
每个元素都是平台原生字符串,在 Unix 上采用首选操作系统编码,在 Windows 上采用 UTF-8。
flags

类型: GSpawnFlags

来自 GSpawnFlags 的标志。

child_setup

类型: GSpawnChildSetupFunc

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

该参数可以是 NULL
user_data

类型: gpointer

child_setup 的用户数据。

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

类型: GPid

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

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

类型: gint*

返回子进程 stdin 可写入文件描述符的位置,或 NULL

该参数将由函数设置。
该参数可以是 NULL
standard_output

类型: gint*

返回子进程 stdout 可读文件描述符的位置,或 NULL

该参数将由函数设置。
该参数可以是 NULL
standard_error

类型: gint*

返回子进程 stderr 可读文件描述符的位置,或 NULL

该参数将由函数设置。
该参数可以是 NULL
error

类型: GError **

返回 可恢复错误 的位置。

该参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为一个 NULL GError*
如果不出错,参数将由函数初始化为 NULL
如果出错,参数将设置为一个新分配的 GError;调用者将拥有对该数据的所权,并负责释放它。

返回值

类型: gboolean

如果成功,则返回 TRUE,如果设置错误,则返回 FALSE