A terminal UI for Linux that lists listening network ports and lets you inspect or kill the owning processes.
theopfr/somo
A human-friendly netstat alternative that shows sockets and listening ports in a table on Linux and macOS.
- Stars
- 2,624
- Forks
- 69
- Open issues
- 5
- Last commit
- 3 days ago
What is it?
somo is a command-line tool for inspecting network sockets and ports on Linux and macOS. It displays active connections in a formatted table, so you can see which program or PID holds a given port without memorizing netstat flags.
The output can be narrowed by protocol, local or remote port, IP address, program, PID, user, and connection state such as listening or established. Results can be sorted by column, shown in a compact layout, or printed as JSON or with a custom format string. A kill mode lets you pick a process from the results and terminate it interactively.
On Linux it relies on the procfs crate and on macOS on netstat2 and libproc. Shell completions are available for bash, zsh, fish, and elvish, and a config file can store default flags.
Key features
- 01Table view of sockets with filtering by protocol, port, IP, program, PID, and user
- 02Interactive process killing from the connection list
- 03JSON output and custom format strings using snake_case attributes
- 04Sorting by column, with reverse order and a compact layout
- 05Service name annotation for remote ports using the IANA registry
- 06Config file for default flags and automatic paging
Use cases
- Finding which process is holding a port that refuses to bind
- Checking listening services on a Linux server or Mac during debugging
- Scripting network inspection by piping JSON output to other tools
- Quickly terminating a stray process that owns a network connection
Topics
FAQ
- What is somo?
- A human-friendly netstat alternative that shows sockets and listening ports in a table on Linux and macOS. somo is a command-line tool for inspecting network sockets and ports on Linux and macOS. It displays active connections in a formatted table, so you can see which program or PID holds a given port without memorizing netstat flags.
- Is somo free to use? What license does it have?
- somo is open source under the MIT license. Check the license terms before using it in commercial products.
- Is somo still maintained?
- Actively maintained. The last commit to somo was on Oct 19, 2026.
- What can I use somo for?
- Finding which process is holding a port that refuses to bind Checking listening services on a Linux server or Mac during debugging Scripting network inspection by piping JSON output to other tools Quickly terminating a stray process that owns a network connection
- Where can I get somo?
- The source code and installation instructions are on GitHub: https://github.com/theopfr/somo
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source macOS CLI (mo) for deep cleaning, app uninstalling, disk analysis, maintenance and live system status, with a separate native Mac app.
A Task Manager replacement for Windows and Linux that shows deep per-process detail such as threads, memory, handles, sockets and modules.
Fast, native, feature-rich terminal emulator with platform-native UIs and GPU rendering, plus a libghostty library for embedding terminals.
The package manager for macOS and Linux that installs command-line tools and GUI apps from its formula and cask repositories.
An open-source, AI-integrated terminal for macOS, Linux and Windows that supports BYOK and local models, durable SSH sessions and inline file previews.