The process tree
We’ve seen that the shell knows the PIDs of the commands you run and can send them signals to terminate when you press Ctrl + C. That implies that it has certain control over the processes you ask it to launch. Indeed, everything you launch from your shell becomes a child process of that shell process.
The shell itself is a child process — either of your terminal emulator if you are on a Linux desktop, or of the OpenSSH daemon if you connect remotely over SSH. However, is there a parent of all processes, or can there be multiple processes without parents?
In fact, there is a parent of all processes, and all running process relationships form a tree with a single root (PID = 1). For historical reasons, the parent of all processes is often called the init process. For a long time in general-purpose Linux distributions, that process was System V init, hence the term.
The PID=1 process can be anything. When you boot a Linux system, you can tell it...