DEV Community

Cover image for Linux Processes
Abhishek Pathak
Abhishek Pathak

Posted on • Edited on

Linux Processes

Lets us understand, what the output is when we run ps command

ps
Enter fullscreen mode Exit fullscreen mode

ps output

we have,
PID: Process ID
TTY: Controlling terminal associated with the process
STAT: Process status code
TIME: Total CPU usage time
CMD: Name of executable/command

ps aux
Enter fullscreen mode Exit fullscreen mode

ps aux command

The a displays all processes running, including the ones being ran by other users.
The u shows more details about the processes.
and finally the x lists all processes

USER: The effeictive user
PID: Process ID
%CPU: CPU time used divided by the time the process has been running
%MEM: Ratio of the process's resident set size to the physical memory on the machine
VSZ: Virtual memory usage of the entire process
RSS: Resident set size, the non-swapped physical memory that a task has used
TTY: Controlling terminal associated with the process (TTY is the terminal that executed the command.)
STAT: Process status code
START: Start time of the process
TIME: Total CPU usage time
COMMAND: Name of executable/command

Process states

In the STAT column, you'll see lots of values. A linux process can be in a number of different states.

The most common state codes are:

R: running or runnable, it is just waiting for the CPU to process it
S: Interruptible sleep, waiting for an event to complete, such as input from the terminal
D: Uninterruptible sleep, processes that cannot be killed or interrupted with a signal, usually to make them go away you have to reboot or fix the issue
Z: Zombie, we discussed in a previous lesson that zombies are terminated processes that are waiting to have their statuses collected
T: Stopped, a process that has been suspended/stopped

/proc filesystem

Remember everything in Linux is a file, even processes. Process information is stored in a special filesystem known as the /proc filesystem.

ls /proc
Enter fullscreen mode Exit fullscreen mode

proc file system
You should see multiple values in here, there are sub-directories for every PID.
If you looked at a PID in the ps output, you would be able to find it in the /proc directory.

Inside the process

cat /proc/1/status
Enter fullscreen mode Exit fullscreen mode

You should see process state information and well as more detailed information.

The /proc directory is how the kernel is views the system, so there is a lot more information here than what you would see in ps.

If the article helps you, leave a like, follow, or anything 🙂.

You can follow me on LinkedIn and GitHub.

Top comments (2)

Collapse
 
respect17 profile image
Kudzai Murimi

Thanks a lot!

Collapse
 
scorcism profile image
Abhishek Pathak

glad it helped you ☺️