_spawnv, _wspawnv
Cria e executa um novo processo.
intptr_t _spawnv(
int mode,
const char *cmdname,
const char *const *argv
);
intptr_t _wspawnv(
int mode,
const wchar_t *cmdname,
const wchar_t *const *argv
);
Parâmetros
mode
Modo de execução para o processo de chamada.cmdname
Caminho do arquivo a ser executado.argv
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 _spawnv ou _wspawnv (_P_WAIT especificado para mode) é o status de sair do novo processo. O valor retornado de um assíncrono _spawnv ou _wspawnv (_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 é conjunto a um dos seguintes valores.
E2BIG
Lista de argumentos excede 1024 bytes.EINVAL
mode argumento é inválido.ENOENT
Arquivo ou caminho não foi encontrado.ENOEXEC
Arquivo especificado não é executável ou tem formato inválido do arquivo executável.ENOMEM
Não há memória suficiente está 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 e _sys_nerr.
Comentários
Cada uma dessas funções cria e executa um novo processo, passando uma matriz de ponteiros para argumentos de linha de comando.
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 |
---|---|
_spawnv |
<stdio.h> ou <processo.h> |
_wspawnv |
<stdio.h> ou <wchar.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Exemplo
Veja o exemplo _spawn, _wspawn funções.