_spawnvpe, _wspawnvpe
Criar e executar um novo processo.
intptr_t _spawnvpe(
int mode,
const char *cmdname,
const char *const *argv,
const char *const *envp
);
intptr_t _wspawnvpe(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv,
const wchar_t *const *envp
);
Parâmetros
mode
Modo de execução para chamar processocmdname
Caminho do arquivo a ser executadoargv
Matriz de ponteiros para os argumentos.The argument argv[0] is usually a pointer to a path in real mode or to the program name in protected mode, and argv[1] through argv[n] are pointers to the character strings forming the new argument list.The argument argv[n +1] must be a NULL pointer to mark the end of the argument list.envp
Matriz de ponteiros para as configurações de ambiente
Valor de retorno
O valor retornado de um síncrono _spawnvpe ou _wspawnvpe (_P_WAIT especificado para mode) é o status de sair do novo processo. O valor retornado de um assíncrono _spawnvpe ou _wspawnvpe (_P_NOWAIT ou _P_NOWAITO especificado para mode) é o identificador do processo. O status de sair é 0 se o processo encerrado normalmente.Você pode conjunto o status de sair para um valor diferente de zero se o processo gerado especificamente chama o exit rotina com um argumento diferente de zero. Se o novo processo não conjunto explicitamente um status de sair positivo, um status de sair positiva indica uma sair com uma anulação ou uma interrupção anormal.Um valor retornado de – 1 indica um erro (o novo processo não é iniciado).Nesse caso, errno é definido como um dos seguintes valores:
E2BIG
Lista de argumentos excede 1024 bytesEINVAL
mode argumento é inválidoENOENT
Arquivo ou caminho não for encontradoENOEXEC
Arquivo especificado não é executável ou tem formato inválido do arquivo executávelENOMEM
Não há memória suficiente está disponível para executar o novo processo
See _doserrno, errno, _sys_errlist e _sys_nerr para obter mais informações sobre esses e outros códigos retorno.
Comentários
Cada uma dessas funções cria e executa um novo processo, passando uma matriz de ponteiros para argumentos de linha de comando e uma matriz de ponteiros para as configurações de ambiente.Essas funções usam o PATH variável de ambiente para localizar o arquivo para executar.
Essas funções validar seus parâmetros.Se qualquer um dos cmdname ou argv é um ponteiro nulo, ou se argv aponta para um ponteiro nulo, ou argv[0] é uma seqüência vazia, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções conjunto errno para EINVALe retornar -1. Nenhum novo processo é gerado.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_spawnvpe |
<stdio.h> ou <processo.h> |
_wspawnvpe |
<stdio.h> ou <wchar.h> |
Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.
Exemplo
Veja o exemplo _spawn, _wspawn funções.