Signals

Command Line

On Unix systems, the NATS server responds to the following signals. You can send these using the standard Unix kill command, or use the nats-server --signal command for convenience.

nats-server command
Unix Signal
Description

--signal ldm

SIGUSR2

Graceful shutdown (evicts clients gradually) (lame duck mode)

--signal quit

SIGINT

Stops the server gracefully

--signal term

SIGTERM

Stops the server gracefully

--signal stop

SIGKILL

Kills the process immediately

--signal reload

SIGHUP

Reloads server configuration file

--signal reopen

SIGUSR1

Reopens the log file for log rotation

(kill only)

SIGQUIT

Kills the process immediately and performs a stack dump

Usage

To send a signal to a running nats-server:

nats-server --signal <command>

For example, to gracefully stop the server with lame duck mode:

nats-server --signal ldm

Multiple processes

If there are multiple nats-server processes running, or if pgrep isn't available, you must either specify a PID or the absolute path to a PID file:

As of NATS v2.10.0, a glob expression can be used to match one or more process IDs, such as:

Windows

See the Windows Service section for information on signaling the NATS server on Windows.

Last updated

Was this helpful?