_spawnl
, _wspawnl
Cria e executa um novo processo.
Importante
Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.
Sintaxe
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 do processo de chamada.
cmdname
Caminho do arquivo a ser executado.
arg0
, arg1
, ... argN
Lista de ponteiros para os argumentos. O argumento arg0
costuma ser um ponteiro para cmdname
. Os argumentos de arg1
a argN
são ponteiros para as cadeias de caracteres que formam a nova lista de argumentos. Após argN
, deve haver um ponteiro NULL
para marcar o fim da lista de argumentos.
Retornar valor
O valor retornado de uma _spawnl
ou _wspawnl
síncrona (_P_WAIT
especificado para mode
) é o status de saída do novo processo. O valor retornado de uma _spawnl
ou _wspawnl
assíncrona (_P_NOWAIT
ou _P_NOWAITO
especificado para mode
) é o identificador do processo. O status de saída é 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 indica uma saída anormal com uma interrupção ou uma interrupção. Um valor de retorno de -1 indica um erro (o novo processo não foi iniciado). Nesse caso, o parâmetro errno
é definido com um dos valores a seguir.
Valor | Descrição |
---|---|
E2BIG |
A lista de argumentos ultrapassa 1.024 bytes. |
EINVAL |
O argumento mode é inválido. |
ENOENT |
Arquivo ou caminho não encontrado. |
ENOEXEC |
O arquivo especificado não é executável ou tem formato de arquivo executável inválido. |
ENOMEM |
Não há memória suficiente disponível para executar o novo processo. |
Para obter mais informações sobre esses e outros códigos de retorno, confira errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Essas funções validam seus parâmetros. Se ou for uma cadeia de caracteres vazia ou cmdname
arg0
um ponteiro nulo, o manipulador de parâmetros inválido será chamado, conforme descrito em Validação de parâmetro. Se a execução puder continuar, essas funções definirão errno
como EINVAL
e retornarão -1. Nenhum processo novo é 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 |
<processo.h> |
_wspawnl |
<stdio.h> ou <wchar.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
Veja o exemplo em _spawn
, _wspawn
functions.
Confira também
Controle de processos e ambientes
_spawn
, _wspawn
funções
abort
atexit
_exec
, _wexec
funções
exit
, _Exit
, _exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de