All activity
Freeze a running server and free its TCP port — without killing it. Resume later with the same PID, memory, and state. park reaches inside the target process and injects close(fd) via ptrace (Linux) or Mach thread injection (macOS) to release the listening socket. Resume recreates the listener at the same fd number. Works with uvicorn, FastAPI, Flask, python http.server, and more. Single binary, no deps. Install:
curl -fsSL https://raw.githubusercontent.com/mr-vaibh/park/main/install.sh | sh

parkPause a process and free its TCP port. Resume later.
Vaibhav Shuklaleft a comment
Hey PH! I'm Vaibhav, the maker. I built park because I was tired of killing my uvicorn dev server every time I needed port 8000 for something else. Restarting meant losing in-memory caches, websocket clients, and warm-up time. The core trick: SIGSTOP alone doesn't free the port — the kernel keeps the socket bound. park uses ptrace (Linux) and Mach thread injection (macOS) to reach inside the...

parkPause a process and free its TCP port. Resume later.
