Skip to main content

Execv - Comando Linux - Comando Unix

Aula Sobre o Comando EXEC #LINUX (Junho 2026)

Aula Sobre o Comando EXEC #LINUX (Junho 2026)
Anonim

execl, execlp, execle, execv, execvp - executa um arquivo

Sinopse

#incluir

extern char ** environ;

int execl (const char * caminho const char * arg , …); int execlp (const char * Arquivo const char * arg , …); int execle (const char * caminho const char * arg , …, char * const envp ); int execv (const char * caminho char * const argv ); int execvp (const char * Arquivo char * const argv );

Descrição das funções exec

oexec família de funções substitui a imagem do processo atual por uma nova imagem de processo. As funções descritas nesta página de manual são front-ends para a funçãoexecve(2). (Veja a página de manual paraexecve para informações detalhadas sobre a substituição do processo atual.)

O argumento inicial para estas funções é o nome do caminho de um arquivo que deve ser executado.

o const char * arg e elipses subseqüentes noexecl, execlpeexecle funções podem ser pensadas como arg0 , arg1 , …, argn . Juntos, eles descrevem uma lista de um ou mais ponteiros para sequências terminadas em nulo que representam a lista de argumentos disponível para o programa executado. O primeiro argumento, por convenção, deve apontar para o nome do arquivo associado ao arquivo que está sendo executado. A lista de argumentos devo ser terminado por umNULO ponteiro.

oexecv eexecvp funções fornecem uma matriz de ponteiros para seqüências terminadas por caractere nulo que representam a lista de argumentos disponível para o novo programa. O primeiro argumento, por convenção, deve apontar para o nome do arquivo associado ao arquivo que está sendo executado. A matriz de ponteiros devo ser terminado por umNULO ponteiro.

oexecle função também especifica o ambiente do processo executado seguindo oNULO ponteiro que termina a lista de argumentos na lista de parâmetros ou o ponteiro para o array argv com um parâmetro adicional. Esse parâmetro adicional é uma matriz de ponteiros para sequências terminadas em devo ser terminado por umNULO ponteiro. As outras funções tomam o ambiente para a nova imagem do processo a partir da variável externa environ no processo atual.

Algumas dessas funções têm semântica especial.

As funçõesexeclp eexecvp duplicará as ações do shell na procura de um arquivo executável se o nome do arquivo especificado não contiver um caractere de barra (/). O caminho de pesquisa é o caminho especificado no ambiente peloCAMINHO variável. Se esta variável não for especificada, o caminho padrão ``: / bin: / usr / bin '' é usado. Além disso, certos erros são tratados especialmente.

Se a permissão for negada para um arquivo (a tentativaexecve retornouEACCES), essas funções continuarão pesquisando o restante do caminho de pesquisa. Se nenhum outro arquivo for encontrado, no entanto, eles retornarão com a variável global errno definido comoEACCES.

Se o cabeçalho de um arquivo não for reconhecido (a tentativaexecve retornouENOEXEC), essas funções executarão o shell com o caminho do arquivo como seu primeiro argumento. (Se essa tentativa falhar, nenhuma pesquisa adicional será feita.)

Valor de retorno de funções exec

Se algum dosexec funções retorna, um erro terá ocorrido. O valor de retorno é -1 e a variável global errno será definido para indicar o erro.