Skip to content

Repository files navigation

Kill the Zombie Servers

See what is still listening. Inspect the project, command, PID, and ports. Stop only what you choose.

Free, open source, native macOS. Download the latest signed and notarized build or build from source.

CI Latest release License: MIT

Kill the Zombie Servers: a native Mac app for inspecting local servers and stopping only what you choose.

The app shows the actual process behind a local server and checks its identity again before it sends a stop signal.

The current native interface showing project, process, PID, ports, and Stop controls with synthetic demo data.

Screenshot uses synthetic demo projects, not a user's private workspace.

Your coding agent moved on. Your servers didn’t.

New prompt. New project. Another localhost URL. When you’re moving fast with AI coding tools, it’s easy to lose track of what you left running.

Kill the Zombie Servers puts the project, process, PID, and ports in one native Mac window. Keep what you need. Kill what you’re done with.

No terminal archaeology. No account. No cloud. Just your servers and an off switch.

Download

Download the current Apple-silicon build from GitHub Releases.

The release is signed with a Developer ID certificate, notarized by Apple, and requires macOS 14 or later.

  1. Download the ZIP and expand it.
  2. Move Kill the Zombie Servers.app to Applications.
  3. Open the app normally.

Upgrading from Dev Server Activity? Quit the old app first. This is the same app under a new name, with the same bundle identifier. After opening the new copy, remove the old Dev Server Activity.app to avoid keeping two copies.

Each release includes a SHA-256 checksum file. From the directory containing both downloads:

shasum -a 256 -c KillTheZombieServers-1.1.2-5-macos-arm64.sha256

With GitHub CLI installed, verify the repository's release-verification attestation:

gh attestation verify KillTheZombieServers-1.1.2-5-macos-arm64.zip \
  --repo joeyarcisz/dev-server-activity \
  --predicate-type https://in-toto.io/attestation/release/v0.1

The expected Gatekeeper source is Notarized Developer ID. Do not bypass a macOS warning for a copy that fails verification.

What it does

  • Finds likely local dev servers owned by the current macOS user.
  • Recognizes Vite, Next.js, Node.js, Python, Ruby, PHP, Bun, and Deno processes.
  • Shows the project folder, process name, command, PID, listening ports, and hosts.
  • Opens a selected localhost address in the default browser.
  • Filters the server list and refreshes it automatically every six seconds.
  • Sends SIGTERM for Stop or SIGKILL for Force Stop, after confirmation.

When full process inspection is unavailable, the app can still probe a fixed list of common localhost ports. Those results are clearly marked as port-only and cannot be stopped from the app.

Process safety

Stopping a process is consequential, so the confirmation freezes the exact server shown in the dialog. Kill the Zombie Servers records that process's launch time, then requires the same PID and launch time before and after revalidating its command line and listening ports. If any check fails, nothing is stopped and the list is refreshed.

Force Stop can end a process without allowing it to save state. Review the process details and try Stop first.

The app has no privileged helper and does not request administrator access. It can signal only processes allowed by the current macOS user account.

See Architecture for the scan and termination flow.

Official release ZIPs are checked for local packaging metadata and receive a GitHub release-verification attestation after their published checksum, Developer ID signature, stapled notarization ticket, and Gatekeeper acceptance are independently rechecked in GitHub Actions.

Privacy

Kill the Zombie Servers has no accounts, analytics, advertising, telemetry, or cloud service. Process inspection stays on your Mac. The app reads local process and listening-port information and connects only to localhost when probing or opening a server.

See Privacy for the complete data-flow statement.

Why the app is distributed directly

The app needs access to current-user process and listening-port information to identify and stop a selected server. The Mac App Sandbox restricts that access, so the full app is distributed as a signed and Apple-notarized download instead of through the Mac App Store.

Build from source

Requirements:

  • macOS 14 or later
  • Xcode 15.3 or later with Swift 5.10+

Run the tests:

swift test

Build and launch a local development copy:

./script/build_and_run.sh --verify

Local development builds do not need Joey's signing or notarization credentials. Maintainer release steps are documented in Direct distribution.

Contributing

Bug reports and focused pull requests are welcome. Read Contributing before changing process detection or termination behavior. Security-sensitive reports belong in the private vulnerability form, not a public issue.

License

The source code is available under the MIT License. The Kill the Zombie Servers name and app icon identify the original project; modified distributions should avoid implying that Joey Arcisz produced or endorsed them.

About

Kill the Zombie Servers. Native macOS app for finding local dev servers and stopping only the ones you choose.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages