_spawnl, _wspawnl
Cria e executa um novo processo.
Importante
Esta API não pode ser usada em aplicativos que executam no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.
intptr_t _spawnl(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL
);
intptr_t _wspawnl(
int mode,
const wchar_t *cmdname,
const wchar_t *arg0,
const wchar_t *arg1,
... const wchar_t *argn,
NULL
);
Parâmetros
mode
Modo de execução para o processo de chamada.cmdname
Caminho do arquivo a ser executado.arg0, arg1, ... argn
Lista dos ponteiros dos argumentos. O argumento arg0 é geralmente um ponteiro para cmdname. Os argumentos arg1 a argn são ponteiros para as cadeias de caracteres que formam a nova lista de argumentos. Depois de argn, deve haver um ponteiro de NULL para marcar o fim da lista de argumentos.
Valor de retorno
O valor de retorno de _spawnl síncrono ou de _wspawnl (_P_WAIT especificado para mode) é o status de saída do novo processo. O valor de retorno de um _spawnl assíncrono ou de _wspawnl (_P_NOWAIT ou _P_NOWAITO especificado para mode) é o identificador de processo. O status de saída será 0 se o processo foi encerrado normalmente. Você poderá definir o status de saída para um valor diferente de zero se o processo gerado chamar especificamente a rotina exit com um argumento diferente de zero. Se o novo processo não definiu explicitamente um status de saída positivo, um status de saída positivo indicará uma saída anormal com uma anulação ou uma interrupção. Um valor de retorno de – 1 indica um erro (o novo processo não é iniciado). Nesse caso, errno é definido para um dos valores a seguir.
E2BIG
A lista de argumento excede 1024 bytes.EINVAL
O argumento mode é inválido.ENOENT
Arquivo ou caminho não encontrado.ENOEXEC
O arquivo especificado não é executável ou tem um formato de arquivo executável inválido.ENOMEM
Memória insuficiente disponível para executar o novo processo.
Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist, and _sys_nerr.
Essas funções validam seus parâmetros. Se cmdname ou arg0 for uma cadeia de caracteres vazia ou um ponteiro nulo, o manipulador de parâmetro inválido será chamado, como descrito em Validação do parâmetro. Se a execução puder continuar, essas funções definirão errno como EINVAL e retornarão -1. Nenhum novo processo é gerado.
Comentários
Cada uma dessas funções cria e executa um novo processo, passando cada argumento de linha de comando como um parâmetro separado.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_spawnl |
<process.h> |
_wspawnl |
<stdio.h> ou <wchar.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
Consulte o exemplo em Funções _spawn, _wspawn.