Understanding Linux process concepts and syscalls
In this section, we'll cover the fundamentals of process management and get an appreciation of why it is important for systems programming. We'll look at the process life cycle, including creating new processes, setting their environment parameters, working with their standard input and output, and terminating the processes.
This section starts with understanding the differences between a program and a process. We'll then go into a few key details about the fundamentals of processes in Linux. Lastly, we'll see an overview of how to manage the process life cycle with Rust using syscalls encapsulated by the Rust standard library.
How does a program become a process?
A process is a running program. To be precise, it is an instance of a running program. You can have multiple instances of a single program running at the same time, such as starting a text editor from multiple terminal windows. Each such instance...