Comando exec no Linux (executa substituindo o shell) [Guia Básico]

O comando exec no Linux serve para invocar outros comandos, programas ou processos sem criar um processo filho, substituindo o processo atual pelo processo que se deseja executar. Não é algo utilizado com frequência. 

Por exemplo, se você estiver no terminal e digitar o comando exec ifconfig, obterá o resultado do comando ifconfig, mas não terá mais o shell em seguida, pois o processo Bash será substituído pelo ifconfig:

$ exec ifconfig
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether c8:bc:c8:dc:c1:05 
inet6 fe80::cabc:c8ff:fedc:c105%en1 prefixlen 64 scopeid 0x5 
inet 10.0.1.5 netmask 0xffffff00 broadcast 10.0.1.255
nd6 options=1<PERFORMNUD>
media: autoselect
status: active
 [Processo concluído]

O exec é um programa legado “velho”, no tempo em que criar um processo filho ao se executar um programa consumia uma memória escassa e uma CPU compartilhada lenta. Ele simplesmente copia o “binário” do programa que executa por cima do processo que está em execução, evitando alguns ciclos de CPU para se criar cabeçalho e buffers de um programa filho.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe