26 comments

  • donatj 5 hours ago ago

    Ports 2000 - 6000?

    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

    • userbinator 3 hours ago ago

      To me, 8xxx is for proxy servers.

  • faangguyindia 6 hours ago ago

    On macOS i've this in my zshrc file:

    `killport() { kill -9 $(lsof -t -i :$1 -sTCP:LISTEN) }`

    i use it like killport 8000

    • porridgeraisin 3 hours ago ago

      Yeah, I have a function `whoseport` which is just your subcommand. I usually manually type kill or whatever I want with `$(whoseport 3000)`

    • lexokoh 6 hours ago ago

      Nice. I have this too. I wanted something more visual and expansive.

  • dsab 7 hours ago ago

    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.

    • lexokoh 6 hours ago ago

      It's just a tool I built for myself. There's no business case. It just helps me

      • hit8run 3 hours ago ago

        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.

    • motorest 6 hours ago ago

      > 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.

      • bigyabai 6 hours ago ago

        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.

        • todotask2 6 hours ago ago

          The author also posted it on Reddit. He used it for himself, but some people use it even though it’s bad practice.

  • _def 7 hours ago ago

    I'm not looking forward to the near future where it will become harder and harder to distinguish little projects like this from AI generated tools.

    • userbinator 6 hours ago ago

      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)
      • nojs 5 hours ago ago

        > Quit: Exits the application

      • lexokoh 6 hours ago ago

        A lot of ReadMe's are generated with AI. Doesn't really mean anything.

        • userbinator 6 hours ago ago

          You're right. A lot of words that don't really mean anything; and that's exactly why you should not do it if you want actual humans to read it.

    • AbuAssar 6 hours ago ago

      the ascii tree in "Project Structure" is a dead giveaway that AI is used in this project

    • pacifika 6 hours ago ago

      Why would you need to do that?

  • hbbio 6 hours ago ago

    Didn't expect to see the FSL for that kind of project :)

    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/.

  • password4321 8 hours ago ago

    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)?

    • lexokoh 8 hours ago ago

      Not sure I can add images here, but if you check the repo, I'll be adding one shortly.

  • nbbaier 7 hours ago ago

    Neat! There's also a raycast extension for this kind of thing for anyone who wants to go that route:

    https://www.raycast.com/lucaschultz/port-manager

  • sgt 2 hours ago ago

    lsof is a bit heavy, I wouldn't want that running every 5 seconds to be honest.

  • incanus77 6 hours ago ago

    These would be good additions to SwiftBar/BitBar.

    • npretto 3 hours ago ago

      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

      # 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/.://')

              # 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
      done <<< "$processes"

      # Refresh option echo "---" echo "Refresh | refresh=true