Commands.page Logo

How to Filter PID Range in htop Ubuntu Linux

This guide explains the process of managing and filtering processes by Process ID (PID) within the htop system monitor on Ubuntu. It addresses the specific limitations regarding numerical range filtering and provides practical workarounds for isolating processes. You will learn how to sort by PID, filter specific IDs, and utilize command-line alternatives for precise range queries.

Limitation of PID Range Filtering

It is important to understand that htop does not natively support filtering processes by a numerical PID range, such as showing only PIDs between 1000 and 2000. The filter function in htop is designed for string matching against command names, users, or full command lines rather than numerical comparisons on the PID column. Attempting to type a range into the filter bar will result in htop searching for processes that contain those specific characters in their text fields, not their ID numbers.

Sorting Processes by PID

While you cannot filter by a range, you can organize the process list to view PIDs sequentially. This allows you to visually scan a specific range of IDs. To do this, launch htop in your terminal. Press Shift + F6 to open the sort menu. Select PID from the list and press Enter. The process list will reorder numerically, making it easy to scroll to the specific PID range you wish to monitor without unrelated processes interrupting the view.

Filtering Specific PIDs

If you need to monitor specific individual PIDs rather than a continuous range, you can use the filter function. Press F4 to activate the filter bar. Type the specific PID number you are interested in, such as 1234. htop will hide all processes that do not match that string. This is effective for tracking known IDs but requires you to know the exact numbers beforehand. To clear the filter, press F4 again and delete the text.

Using PS for PID Ranges

For true numerical range filtering, the ps command is the appropriate tool to use alongside or instead of htop. You can pipe the output of ps to awk or grep to isolate a PID range. For example, running ps -eo pid,comm | awk '$1 >= 1000 && $1 <= 2000' will list only processes with PIDs between 1000 and 2000. This method provides the exact numerical filtering capability that htop lacks, allowing for precise scriptable monitoring on Ubuntu.