Linux

Describe shortly what happens when you execute a command in the shell

Difficulty: unrated

Source: bregman-arie/devops-exercises by Arie Bregman

Answer

The shell figures out, using the PATH variable, where the executable of the command resides in the filesystem. It then calls fork() to create a new child process for running the command. Once the fork was executed successfully, it calls a variant of exec() to execute the command and finally, waits the command to finish using wait(). When the child completes, the shell returns from wait() and prints out the prompt again.