Spawn.commandLineSync

A simple version of g_spawn_sync() with little-used parameters removed, taking a command line instead of an argument vector. See g_spawn_sync() for full details. command_line will be parsed by g_shell_parse_argv(). Unlike g_spawn_sync(), the G_SPAWN_SEARCH_PATH flag is enabled. Note that G_SPAWN_SEARCH_PATH can have security implications, so consider using g_spawn_sync() directly if appropriate. Possible errors are those from g_spawn_sync() and those from g_shell_parse_argv(). If exit_status is non-NULL, the exit status of the child is stored there as it would be returned by waitpid(); standard UNIX macros such as WIFEXITED() and WEXITSTATUS() must be used to evaluate the exit status. On Windows, please note the implications of g_shell_parse_argv() parsing command_line. Parsing is done according to Unix shell rules, not Windows command interpreter rules. Space is a separator, and backslashes are special. Thus you cannot simply pass a command_line containing canonical Windows paths, like "c:\\program files\\app\\app.exe", as the backslashes will be eaten, and the space will act as a separator. You need to enclose such paths with single quotes, like "'c:\\program files\\app\\app.exe' 'e:\\folder\\argument.txt'".

  1. int commandLineSync(ChildWatch externalWatch, bool delegate(string) readOutput, bool delegate(string) readError)
  2. int commandLineSync(string commandLine, string standardOutput, string standardError, int exitStatus)
    class Spawn
    static
    int
    commandLineSync
    (,
    out string standardOutput
    ,
    out string standardError
    ,
    out int exitStatus
    )

Parameters

commandLine string

a command line

standardOutput string

return location for child output

standardError string

return location for child errors

exitStatus int

return location for child exit status, as returned by waitpid()

Return Value

Type: int

TRUE on success, FALSE if an error was set

Meta