Signals

On Unix systems, the NATS server responds to the following signals:

Signal Result
SIGKILL Kills the process immediately
SIGQUIT Kills the process immediately and performs a core dump
SIGINT Stops the server gracefully
SIGTERM Stops the server gracefully
SIGUSR1 Reopens the log file for log rotation
SIGHUP Reloads server configuration file
SIGUSR2 Stops the server after evicting all clients (lame duck mode)

The nats-server binary can be used to send these signals to running NATS servers using the -sl flag:

  1. # Quit the server
  2. nats-server --signal quit
  3. # Stop the server
  4. nats-server --signal stop
  5. # Reopen log file for log rotation
  6. nats-server --signal reopen
  7. # Reload server configuration
  8. nats-server --signal reload
  9. # Lame duck mode server configuration
  10. nats-server --signal ldm

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:

  1. nats-server --signal stop=<pid>
  1. nats-server --signal stop=/path/to/pidfile

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