What is "development process" ??? What is "business use case" of this tool? Such a big readme and no introduction to why I should be interested in this tool.
Which is perfectly fine and a fun thing to do. I personally use the terminal but such a little monitoring tool can be quite fun and we should embrace the fun in doing things more. People over here are so soaked up by the Open Source as a business model VC-Pitch that they can't believe it when someone builds a little hobby tool with no business plan for a multi billion dollar exit. You're doing it right buddy. Don't let these Crypto-SaaS-AI-Bros ruin the fun for you.
> Such a big readme and no introduction to why I should be interested in this tool.
This.
Why in the hell would anyone want to kill random processes that open a port in the tange 2000-6000? And why is this need so pressing as to require a full blown monitor integrated in a task bar?
Without context, this sounds like a complete random silly project that makes no sense and serves no purpose at all.
Without context, it sounds like something someone vibe-coded and git push-ed up to the internet. Which is fine, but it's just unusually precise and verbose for something that would end up being a shell alias for most developers.
The README already has a rather repugnant LLM-ish feel to it; lots of lists and verboseness, while saying very little.
Also, this is a perplexing choice (which also serves to illustrate the above point regarding verboseness):
White background with red center: 1-9 processes (some development servers)
White background with orange center: 10+ processes (many development servers)
Interesting idea ("manages development processes running on ports 2000-6000"), and props for hitting the front page though technically this is a "Show HN". Screenshot(s)?
a couple of prompts of claude code gave me this, works well enough, but while I agree that this is sometimes useful, it may indeed better served by a couple of aliases in the terminal
```
#!/bin/bash
# SwiftBar Port Monitor
# Monitors processes on TCP ports 2000-6000
if [ -z "$processes" ]; then
echo "No processes found on ports 2000-6000"
exit 0
fi
# Process each line
while IFS='|' read -r pid name port_info; do
if [ -n "$pid" ] && [ -n "$name" ] && [ -n "$port_info" ]; then
# Extract port number from format like :3000
port=$(echo "$port_info" | sed 's/.://')
# Menu item with port and process name
echo "[$port] $name | color=blue"
# Submenu items
echo "--Kill (TERM) | shell=kill param1=$pid terminal=false refresh=true"
echo "--Kill Force (KILL) | shell=kill param1=-9 param2=$pid terminal=false refresh=true"
echo "--Process Info | shell=ps param1=-p param2=$pid param3=-o param4=pid,ppid,user,command terminal=true"
echo "-----"
fi
I know I am getting old but when did we stop running things on 8xxx? The more 8's the more dev it was. 8000, 8080, 8088, 8888
`killport() { kill -9 $(lsof -t -i :$1 -sTCP:LISTEN) }`
i use it like killport 8000
This.
Why in the hell would anyone want to kill random processes that open a port in the tange 2000-6000? And why is this need so pressing as to require a full blown monitor integrated in a task bar?
Without context, this sounds like a complete random silly project that makes no sense and serves no purpose at all.
Also, this is a perplexing choice (which also serves to illustrate the above point regarding verboseness):
The part I'm interested in is the tray_icon crate but I'll look at the package directly https://docs.rs/tray-icon/latest/tray_icon/.
https://www.raycast.com/lucaschultz/port-manager
# SwiftBar Port Monitor # Monitors processes on TCP ports 2000-6000
# Menu bar title echo " Ports" echo "---"
# Get processes listening on TCP ports 2000-6000 processes=$(lsof -iTCP:2000-6000 -sTCP:LISTEN -n -P 2>/dev/null | awk 'NR>1 {print $2 "|" $1 "|" $9}' | sort -t'|' -k3 -n)
if [ -z "$processes" ]; then echo "No processes found on ports 2000-6000" exit 0 fi
# Process each line while IFS='|' read -r pid name port_info; do if [ -n "$pid" ] && [ -n "$name" ] && [ -n "$port_info" ]; then # Extract port number from format like :3000 port=$(echo "$port_info" | sed 's/.://')
done <<< "$processes"# Refresh option echo "---" echo "Refresh | refresh=true