Compartilhar via


_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.

Equivalência do .NET Framework

Consulte também

Referência

Processo e controle de ambiente

Funções _spawn, _wspawn

abort

atexit

Funções _exec, _wexec

exit, _exit

_flushall

_getmbcp

_onexit, _onexit_m

_setmbcp

system, _wsystem