pboss logo pboss.docs
Menu

CLI Reference

Daemon control

pboss ping and pboss kill — check daemon health, stop everything, and how the CLI talks to the daemon.

pboss uses a daemonized architecture: the CLI communicates with a long-running daemon process over a Unix domain socket using the WebSocket protocol. Most commands need the daemon — and it’s started on demand if it isn’t running.

pboss ping#

Check if the daemon is running:

pboss ping

Useful as a health check in scripts and for quickly verifying an install before anything else.

pboss kill#

Stop all processes and kill the daemon:

pboss kill

This is the “everything off” switch: every managed process is stopped, then the daemon exits. Running any other pboss command afterwards starts a fresh daemon.

kill deliberately does not touch the saved process list — the dump keeps describing what should run, so a reboot (or systemctl start pboss) resurrects everything as it was. Use pboss delete <name> first if you want processes gone for good.

How the daemon fits together#

  • On-demand startup — the first command that needs the daemon spawns it (under 50ms start, ~12MB RAM). A daemon that is already running is detected and used — commands never spawn a second daemon against the live socket.
  • One daemon per machine — all CLI invocations, the dashboard, and the metrics endpoint talk to the same daemon over its Unix socket.
  • Windows invisibility — the daemon runs with no console window, and everything it launches — apps, cluster workers, cron commands, git and deploy operations — is spawned hidden as well: a parent without a console would otherwise give each child its own visible terminal.
  • Foreground exception — --no-daemon skips all of this and supervises in-process; see Foreground mode.
  • Reboots — the boot service (installed automatically at install time; pboss startup install when it could not be) starts the daemon at boot, and the auto-saved process list is resurrected; see Startup scripts.

Troubleshooting#

If commands hang or the socket seems stuck, check Troubleshooting — daemon won’t start for the diagnostic sequence (pboss ping, socket location, stale lockfiles).