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 --signal/-sl flag. It supports the following commands:
| Command | Signal |
|---|---|
stop |
SIGKILL |
quit |
SIGINT |
term |
SIGTERM |
reopen |
SIGUSR1 |
reload |
SIGHUP |
ldm |
SIGUSR2 |
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:
See the Windows Service section for information on signaling the NATS server on Windows.