Forking a process
Previously, we have been saying spawned when a program creates a new process. The correct terminology is to fork a process. What's happening is that a process creates a copy of itself—it forks.
In the previous recipe, we learned how to execute a new program inside a process using execl()
. In this recipe, we'll learn how to fork a process using fork()
. The forked process—the child—is a duplicate of the calling process—the parent.
Knowing how to fork a process enables us to create new processes on the system programmatically. Without being able to fork, we are limited to only a single process. For example, if we want to launch a new program from an existing one and still keep the original, we must fork.
Getting ready
Just as in the previous recipes, you'll need the pstree
tool. The Technical requirements section covers how to install it. You'll also need the GCC compiler and the Make tool. You'll also...