List processes Linux – Developers utilize a variety of applications and run commands in the terminal on a daily basis.
On your Linux system, each application you use or command you perform produces a process or task. To guarantee optimal system performance, you will need to control processes as a system administrator.
Multitasking is one of the most appealing features of the Linux operating system, as well as modern computers in general. As a result, numerous programs can run simultaneously.
What are processes in Linux?
When you perform a command or open an application in Linux, it starts a process. Applications, on the other hand, generate and execute several processes for various tasks, whereas commands only create one.
When you launch your Visual Studio Code editor, for example, you start a process that will only cease (or die) when you exit or terminate the Visual Studio Code application.
Similarly, when you run a command in the terminal (such as curl ifconfig.me), it starts a process that will only terminate when the command completes or is terminated.
Each new process starts as a foreground process by default. This implies that it must be completed before a new process may begin. Processes running in the background allow you to work on other things at the same time.
Get exclusive access to all things tech-savvy, and be the first to receive
the latest updates directly in your inbox.
List running processes in Linux
Use one of the three commands to list processes in Linux:
- ps – displays a list of all processes; it can also be used with options to get a more detailed output.
- top – displays a live list of currently active processes and allows you to interact with them by killing, stopping, changing priority, and so on.
- htop – instantaneous results on a user-friendly output with the opportunity to engage with the process
Utilizing ps
as a command
The ps command (process statuses) creates a snapshot of all currently active processes. As a result, unlike the Windows task manager, the outcomes are predictable.
The syntax for the ps command is as follows:
ps [options]
The following are some of the most commonly used ps command options:
- a: Make a list of all processes that are causing problems for all users.
- -A, -e: Display a list of all the processes on the system.
- -a: List all processes, excluding session leaders (those whose process ID is the same as the session * ID) and those not associated with a terminal.
- -d: Except for session leaders, list all processes.
- –deselect, – N: Remove any processes that do not meet a user-defined condition from the list.
- f: Uses ASCII art to display the process hierarchy.
- -j: Shows the output in jobs format.
- T: Make a list of all the processes that are connected to this terminal.
- r: Only list processes that are currently active.
- u: Increase the size of the output to include more information, such as CPU and memory use.
- -u: Define a user for whom you want to list processes.
- x: Processes without a TTY are included.
Running the ps
command without any options produces an output similar to
The following categories are included in the default output:
- PID: Process Identification Number
- TTY: The terminal on which the process is operating.
- TIME: The total amount of time spent on the computer (CPU usage total amount).
- CMD: The name of the command that started the process
Using the a, u, and x options together produces a more detailed output
ps aux
The extended output now includes the following new categories:
- USER: This is the name of the person who is executing the process.
- %CPU: The proportion of time that the CPU is in use.
- %MEM: The proportion of memory used.
- VSZ: The process’s total virtual memory usage in kilobytes.
- RSS: “stands for Resident Set Size”, which refers to the amount of RAM used by a process.
- STAT: The current state of the process.
- START: The time when the process began.
To show the currently executing processes in a hierarchical order.
ps -axjf
Using the top command in Linux, you can get a list of currently running processes
The top command provides a list of currently active processes in decreasing CPU consumption order. This means that the processes that use the most resources are at the top of the list:
top
With the default refresh rate of three seconds, the output of the top command refreshes in real time. The following categories appear in the output of the top command:
- PID (Process Identification Number): This is a number that identifies a
- USER: This is the name of the person who is executing the process.
- PR: The process’s scheduling priority.
- NI: The process’s nice value, with lower values signifying higher importance.
- VIRT: The amount of virtual memory used by the process.
- RES: The amount of resident (physical) memory that the process uses.
- SHR: The process’s total shared memory use.
- R (running) or S (sleeping): The status of the process
- %CPU: The percentage of time that the CPU is in use.
- %MEM: The memory usage percentage
- TIME+: The total amount of CPU time used.
- COMMAND: The command that initiated the procedure.
Use the following options to interact with the top command or modify the output format while it is running:
top [option]
- c: Show the process path in its entirety.
- d: Set the output refresh rate to a custom value (in seconds).
- h: Bring up the help menu.
- k: Provide the PID to kill a process.
- M: Sort the list by the amount of memory used.
- N: Sort the list according to the PID.
- r: Provide the PID to change the nice value (priority) of a process.
- z: Highlight running processes by changing the output color.
- q: Exit the command prompt.
Using the htop command in Linux, you may see what processes are currently running.
The htop command produces the same results as the top command, but in a more user-friendly and understandable manner.
Because this command isn’t included in most Linux distributions, you’ll need to install it yourself:
sudo apt install htop
Using the
htop
command provides the following output:
To interact with the htop command, press the following keys:
Scroll the process list vertically and horizontally using the directional keys.
- F1: Displays the help menu.
- F2: Open the htop command setup
- F3: Type the name of a process to find it.
- F4: Sort the list of processes by name.
- F5: Select whether the process hierarchy is displayed as a sorted list or a tree.
- F6: Sort processes by columns
- F7: Lower a process’s nice value (raise its priority).
- F8: Lower the process’s nice value (lower its priority).
- F9: Terminate the currently selected process.
- F10: Closes the command prompt.
How to Kill a Process in Linux?
To terminate a process in Linux, you can use the “kill” command. First, identify the process you want to end by using the “ps” command to list active processes. Once you find the process ID (PID), type “kill” followed by the PID.
For instance, if the PID is 12345, type “kill 12345” and press Enter. If you need more force to end the process, you can use “kill -9” followed by the PID, like “kill -9 12345”. This stops the process promptly. Remember, use caution when ending processes, especially critical ones, as it can affect system stability.
Conclusion
Knowing how to list all running processes in your Linux operating system is critical. When you need to manage processes, this expertise will come in handy.
To customize the output and command behavior, use the available command options.