nats-io/nats-server · error

no %s processes running

Error message

no %s processes running

What it means

ProcessSignal resolved the set of running nats-server processes (via resolvePids scanning /proc or process listing) and found none to signal. Fired from --signal handling when neither an explicit pid nor any discoverable nats-server process exists.

Source

Thrown at server/signal.go:124

		}
	}
	// Gather all PIDs unless the input is specific
	if pidStr == "" || isGlob {
		if pids, err = resolvePids(); err != nil {
			return err
		}
	}
	// Multiple instances are running and the input is not an expression
	if len(pids) > 1 && !isGlob {
		errStr = fmt.Sprintf("multiple %s processes running:", processName)
		for _, p := range pids {
			errStr += fmt.Sprintf("\n%d", p)
		}
		return errors.New(errStr)
	}
	// No instances are running
	if len(pids) == 0 {
		return fmt.Errorf("no %s processes running", processName)
	}

	var signum syscall.Signal
	if signum, err = CommandToSignal(command); err != nil {
		return err
	}

	for _, pid := range pids {
		if _pidStr := strconv.Itoa(pid); _pidStr != pidStr && pidStr != "" {
			if !isGlob || !strings.HasPrefix(_pidStr, pidStr) {
				continue
			}
		}
		if err = kill(pid, signum); err != nil {
			errStr += fmt.Sprintf("\nsignal %q %d: %s", command, pid, err)
		}
	}
	if errStr != "" {

View on GitHub (pinned to 3a66a489d2)

Solutions

  1. Confirm a nats-server is actually running (ps aux | grep nats-server)
  2. Start the server before sending signals
  3. If running in a container/namespace, run the signal command in the same context
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/signal.go:124 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of nats-io/nats-server@3a66a489d2 (2026-09-02). Data as JSON: /api/errors/86c954db76cac41c. Report an issue: GitHub.