_spawnvp, _wspawnvp
Criar e executar um novo processo.
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 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.
Valor de retorno
O valor retornado de um síncrono _spawnvp ou _wspawnvp (**_**P_WAIT especificado para mode) é o status de sair do novo processo. O valor retornado de um assíncrono _spawnvp ou _wspawnvp (_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 usar 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 |
---|---|
_spawnvp |
<stdio.h> ou <processo.h> |
_wspawnvp |
<stdio.h> ou <wchar.h> |
Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.
Exemplo
Veja o exemplo _spawn, _wspawn funções.