Sistemas  
 
Rede de conhecimento computador >> Sistemas >> Unix >> Content
O que é chamada de sistema execlp?
A chamada de sistema `execlp()` no Linux é usada para executar um programa, substituindo o processo em execução atual pelo novo programa. O “lp” em `execlp()` significa “lista de ponteiros”, que se refere aos argumentos passados ​​para o novo programa. Aqui está uma explicação detalhada de como `execlp()` funciona:

Protótipo:

```c
int execlp(const char *arquivo, const char *arg0, ..., const char *argn, (char *) NULL);
```

Argumentos:

- `file`:Este é o caminho para o arquivo executável ou programa que você deseja executar.

- `arg0`, `...,` `argn`:Estes são ponteiros para strings terminadas em nulo que representam os argumentos da linha de comando a serem passados ​​​​para o novo programa. `arg0` deve ser sempre o nome do próprio programa.

- `(char *) NULL`:Este é um ponteiro nulo obrigatório no final da lista de argumentos. Serve como delimitador para indicar o final da lista de argumentos.

Descrição:

- `execlp()` é uma variação da chamada de sistema `execl()` que usa uma forma simplificada, porém flexível, de passar argumentos para o novo programa. Ele procura automaticamente o arquivo executável nos diretórios especificados pela variável de ambiente `PATH`.

- Quando `execlp()` é chamado, o processo em execução atual é substituído pelo novo programa especificado por `file`. Os argumentos `arg0`, `...,` `argn` são passados ​​como argumentos de linha de comando para o novo programa.

- `execlp()` não retorna ao processo de chamada. Em vez disso, transfere o controle para o novo programa, que inicia a execução. Se houver algum erro durante a execução de `execlp()`, como arquivo executável não encontrado ou permissões insuficientes, a chamada `execlp()` falhará e retornará -1, deixando o processo atual inalterado.

Exemplo:

```c
#include
#include

int principal() {
//Executa o comando "ls -l"
execlp("ls", "ls", "-l", (char *) NULL);

//Esta linha só será executada se execlp() falhar
perror("execlp() falhou");

retornar 0;
}
```

Neste exemplo, a chamada de sistema `execlp()` executa o comando "ls -l", que lista os arquivos no diretório atual com informações detalhadas. Se `execlp()` for bem-sucedido, o comando "ls -l" será executado e o controle será transferido para o programa `ls`. Se `execlp()` encontrar um erro, a função `perror()` imprimirá uma mensagem de erro no fluxo de erro padrão ("stderr").

Pontos importantes:

- `execlp()` é uma das várias funções da família `exec()` no Linux que executam a mesma tarefa de execução de novos programas, mas com diferentes mecanismos de manipulação de argumentos. Outras funções `exec()` comuns incluem `execl()`, `execv()`, `execvp()` e `execve()`.

- `execlp()` apenas procura o executável nos diretórios especificados pela variável de ambiente `PATH`, por isso é essencial garantir que o executável esteja presente em um desses diretórios.

- Os argumentos `arg0`, `...,` `argn` devem ser strings terminadas em nulo. Passar strings não terminadas em nulo ou tentar passar mais argumentos do que a função pode manipular pode levar a um comportamento indefinido.

- A chamada de sistema `execlp()` é usada em muitos sistemas operacionais do tipo Unix, não apenas no Linux.

Anterior :

Próximo :
  Os artigos relacionados
·Como fazer um soft link em UNIX 
·Qual é o comando para executar um script de shell? 
·O que a permissão de arquivo binário 6 indica no Linu…
·Ferramentas Unix para Windows XP 
·O que é preempção no prazo? 
·Por que a GUI não é usada no UNIX? 
·O que vem depois do byte? 
·O que significa costela CD? 
·Como procurar texto em um arquivo no UNIX 
·No sistema unix, o que significa definir texto de promp…
  Artigos em destaque
·Como consertar um Mac que usa muitas sessões NAT 
·Como usar um iPad como webcam para Windows PC ou Mac 
·Linux Informações Memória Processo 
·Como configurar o perfil de cor em uma ATI Radeon Xpres…
·As melhores maneiras de Dual Boot Ubuntu 
·Como controlar o Pedido impressora com Unix 
·Como abrir o Windows Explorer no Max Tamanho 
·Como enviar uma tela de informações do sistema tiro n…
·Como remover um salto de redireccionamento 
·Como Fazer um Novo Dial Up connecton no XP 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados