Linux exec Command: Replace Shell Process with Another Program
The exec command in Linux is used to invoke other commands, programs, or processes without creating a child process, replacing the current process with the process you want to execute. It's not something used frequently.
For example, if you are in the terminal and type the exec ifconfig command, you will get the result of the ifconfig command, but you will no longer have the shell afterward, because the Bash process will be replaced by ifconfig:
$ exec ifconfigen1: 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]
Exec is an old legacy program, from the time when creating a child process when executing a program consumed scarce memory and slow shared CPU. It simply copies the "binary" of the program it executes over the process that is running, avoiding some CPU cycles to create header and buffers of a child program.
Learn much more about Linux in our online course. You can enroll here. If you already have an account, or want to create one, just log in or create your user here.
Liked it? Share
That was just one piece. The course teaches the whole path — from your first command to exam day.