File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed
Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -158,9 +158,18 @@ def get_processes() -> list[Process]:
158158 # Skip processes we can't access
159159 continue
160160
161+ # Deduplicate processes by (pid, port) - same process can listen on IPv4 and IPv6
162+ seen : set [tuple [int , int | str ]] = set ()
163+ unique_processes : list [Process ] = []
164+ for p in processes :
165+ key = (p .pid , p .port )
166+ if key not in seen :
167+ seen .add (key )
168+ unique_processes .append (p )
169+
161170 # Sort processes by port number (numeric ports first, then strings)
162- processes .sort (key = lambda p : (isinstance (p .port , str ), p .port ))
163- return processes
171+ unique_processes .sort (key = lambda p : (isinstance (p .port , str ), p .port ))
172+ return unique_processes
164173
165174
166175def kill_process (pid : int ):
You can’t perform that action at this time.
0 commit comments