_execve
, _wexecve
Carrega e executa novos processos filho.
Importante
Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.
Sintaxe
intptr_t _execve(
const char *cmdname,
const char *const *argv,
const char *const *envp
);
intptr_t _wexecve(
const wchar_t *cmdname,
const wchar_t *const *argv,
const wchar_t *const *envp
);
Parâmetros
cmdname
Caminho do arquivo a ser executado.
argv
Matriz de ponteiros para os parâmetros.
envp
Matriz de ponteiros para as configurações de ambiente.
Valor retornado
Se forem bem-sucedidas, essas funções não retornarão ao processo de chamada. Um valor retornado de -1 indica um erro, caso em que a errno
variável global é definida.
errno valor |
Descrição |
---|---|
E2BIG |
O espaço necessário para os argumentos e as configurações de ambiente excede 32 KB. |
EACCES |
O arquivo especificado tem uma violação de compartilhamento ou de bloqueio. |
EINVAL |
Parâmetro inválido. |
EMFILE |
Muitos arquivos são abertos (o arquivo especificado deve ser aberto para determinar se ele é executável). |
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 |
Não há memória suficiente disponível para executar o novo processo; a memória disponível foi corrompida; ou existe um bloco inválido, indicando que o processo de chamada não foi alocado corretamente. |
Para obter mais informações sobre esses e outros códigos de retorno, confira errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Comentários
Cada uma dessas funções carrega 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.
_execve
e _wexecve
validam seus parâmetros. Essas funções invocam o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro, quando:
cmdname
é um ponteiro nulo,argv
é um ponteiro nulo ou ponteiro para uma matriz vazia,- A matriz contém uma string vazia como o primeiro argumento.
Se a execução tiver permissão para continuar pelo manipulador, essas funções serão definidas errno
como EINVAL
e retornarão -1. Nenhum processo é inicializado.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Requisitos
Função | Cabeçalho necessário | Cabeçalho opcional |
---|---|---|
_execve |
<processo.h> | <errno.h> |
_wexecve |
<process.h> ou <wchar.h> | <errno.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
Veja o exemplo em _exec
, _wexec
funções.
Confira também
Controle de processo e ambiente
_exec
, _wexec
funções
abort
atexit
exit
, _Exit
, _exit
_onexit
, _onexit_m
_spawn
, _wspawn
funções
system
, _wsystem