_spawnvp, _wspawnvp
Cria um processo e execute-o.
Importante
Não é possível usar essa API em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.
intptr_t _spawnvp(
int mode,
const char *cmdname,
const char *const *argv
);
intptr_t _wspawnvp(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv
);
Parâmetros
mode
Modo de execução para chamar o processo.cmdname
Caminho do arquivo a ser executado.argv
Matriz de ponteiros para argumentos. O argumento argv[0] é geralmente um ponteiro para um caminho no modo real ou ao nome do programa no modo protegido, e argv[1] com argv[] énponteiros em cadeias de caracteres que formam a nova lista de argumentos. O argumento argv[n +1] deve ser um ponteiro NULL para marcar o fim da lista de argumentos.
Valor de retorno
O valor de retorno de um _spawnvp síncrono ou _wspawnvp (_P_WAIT especificado para mode) é o status de saída do novo processo. O valor de retorno de um _spawnvp assíncrono ou _wspawnvp (_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ê pode definir o status de saída como um valor diferente de zero se o processo gerado usa especificamente um argumento diferente de zero para chamar a rotina de exit . 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 é definida como um dos seguintes valores:
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 errno, _doserrno, _sys_errlist e _sys_nerr.
Comentários
Cada uma dessas funções cria um novo processo e executá-lo, e passar uma matriz de ponteiros para os argumentos de linha de comando e a usa a variável de ambiente de PATH para localizar o arquivo para executar.
Essas funções validam seus parâmetros. Se cmdname ou argv for um ponteiro nulo, ou se argv apontar para o ponteiro nulo, ou se argv[0] for uma cadeia de caracteres vazia, o manipulador de parâmetro inválido será chamado, conforme 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.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_spawnvp |
<stdio.h> ou <process.h> |
_wspawnvp |
<stdio.h> ou <wchar.h> |
Para obter informações adicionais sobre compatibilidade, consulte Compatibilidade.
Exemplo
Consulte o exemplo em Funções _spawn, _wspawn.