Processes are the programs that are running on your machine. They are managed by the kernel, where each process will have an ID associated with it, also known as its PID. The PID increments for the order In which the process starts. I.e. the 60th process will have a PID of 60.
Viewing Processes
We can use the friendly ps
command to provide a list of the running processes as our user's
session and some additional information such as its status code, the
session that is running it, how much usage time of the CPU it is using,
and the name of the actual program or command that is being executed:

Note how in the screenshot above, the second process ps has a PID of 204, and then in the command below it, this is then incremented to 205.
To see the processes run by other users and those that don't run from a session (i.e. system processes), we need to provide aux to the ps command like so: ps aux

Note we can see a total of 5 processes -- note how we now have "root" and "cmnatic"
Another
very useful command is the top command; top gives you real-time
statistics about the processes running on your system instead of a
one-time view. These statistics will refresh every 10 seconds, but will
also refresh when you use the arrow keys to browse the various rows.
Another great command to gain insight into your system is via the top command

Managing Processes
You
can send signals that terminate processes; there are a variety of types
of signals that correlate to exactly how "cleanly" the process is dealt
with by the kernel. To kill a command, we can use the appropriately
named kill command and the associated PID that we wish to kill. i.e., to kill PID 1337, we'd use kill 1337.
Below are some of the signals that we can send to a process when it is killed:
How do Processes Start?
Let's start off by talking about namespaces. The Operating System (OS) uses namespaces to ultimately split up the resources available on the computer to (such as CPU, RAM and priority) processes. Think of it as splitting your computer up into slices -- similar to a cake. Processes within that slice will have access to a certain amount of computing power, however, it will be a small portion of what is actually available to every process overall.
Namespaces are great for security as it is a way of isolating processes from another -- only those that are in the same namespace will be able to see each other.