So on a Linux system, typically, a lot is going on.
And everything that's going on is running as a task.
We call them processes in Linux.
And processes have a PID.
That's a process identifier.
That's a number, and this number is what you can use to manage your processes.
Now, common process management tasks include scheduling priority and sending signals.
Scheduling priority means that you can give it a higher or lower priority.
And sending signals, that means that you can tell the process to stop.
In processes, threads can be used.
So some processes are multi-threaded.
And that means that multiple threads are running simultaneously, which is beneficial if you
have a multi-CPU system.
But individual process threads cannot be managed.
There's also tasks that are started from a shell, which can be managed as jobs.
And shell jobs can be started in foreground or background.
The difference is that the shell job is owned by the user that started the job.
And every user can manage their own jobs.
And processes are more system-wide things.
So let's first have a look at jobs, and then we'll focus into processes a little bit more.