Replacing the program in a process with execl()
At the beginning of this chapter, we saw how getty
gets replaced by login
when a user logs in. In this recipe, we will write a small program that does exactly that—replaces its program with a new one. The system call for this is called execl()
.
Knowing how to use execl()
enables you to write programs that execute new programs inside the existing process. It also enables you to start a new program in a spawned process. When we start a new process, we probably want to replace that copy with a new program. So, understanding execl()
is paramount.
Getting ready
You will need to have read the first three recipes in this chapter to understand this one fully. The other requirements for this recipe are mentioned in the Technical requirements section of this chapter; for example, you'll need the pstree
tool.
You will also need two terminals or two terminal windows for this recipe. In one of these terminals, we will be running...