Types of Processes in Linux
Types of Processes in Linux
• Foreground Processes
depend on the user for input
also referred to as interactive processes
• Background Processes
run independently of the user
referred to as non-interactive or automatic processes
Process States in Linux
A process in Linux can go through different states after it’s created and before it’s
terminated. These states are:
• Running
• Sleeping
• Interruptible sleep
• Uninterruptible sleep
• Stopped
• Zombie
• A process in running state means that it is running or it’s ready to run.
• The process is in a sleeping state when it is waiting for a resource to be
available.
• A process in Interruptible sleep will wakeup to handle signals, whereas a
process in Uninterruptible sleep will not.
• A process enters a stopped state when it receives a stop signal.
• Zombie state is when a process is dead but the entry for the process is still
present in the table.
$ top
Top command displays a list of processes that are running in real-time along with their
memory and CPU usage. Let’s understand the output a little better:
Alternatively, you can also use the kill command, which we will see later.
2. ps command
ps command is short for ‘Process Status’. It displays the currently-running processes.
However, unlike the top command, the output generated is not in realtime.
$ ps
PID process ID
$ ps -u
Here:
While ps command only displays the processes that are currently running, you can also
use it to list all the processes.
$ ps -A
This command lists even those processes that are currently not running.
3. Stop a process
To stop a process in Linux, use the 'kill’ command. kill command sends a signal to the
process.
There are different types of signals that you can send. However, the most common one
is ‘kill -9’ which is ‘SIGKILL’.
$ kill -L
Kill L
The default signal is 15, which is SIGTERM. Which means if you just use the kill
command without any number, it sends the SIGTERM signal.
$ kill [pid]
$ kill -9 [pid]
This command will send a ‘SIGKILL’ signal to the process. This should be used in case
the process ignores a normal kill request.
The fourth column in the output of top command is the column for niceness value.
To start a process and give it a nice value other than the default one, use: