NSPDaemon. Running as a service means the daemon starts automatically when Windows boots, continues running without a logged-in user session, and restarts automatically after transient failures. The GUI installer sets all of this up for you — the commands below let you manage and troubleshoot the service at any time.
Service Overview
Service name
NSPDaemon — use this in all PowerShell and sc.exe commands.Display name
NSP Daemon — shown in services.msc and Task Manager.Start type
Automatic — starts on every Windows boot without user interaction.
Failure recovery
Auto-restarts on failure: 30 s after first, 60 s after second, 120 s after subsequent failures.
Checking Service Status
Status of Running means the daemon is active and the API on localhost:7842 should be responsive. Confirm with the health check:
Starting, Stopping, and Restarting
Use these PowerShell commands to control the service lifecycle. Run them in an Administrator PowerShell session.services.msc) and locating NSP Daemon in the list.
Changes to
[server] settings in axon.toml (port, host) require a service restart to take effect. Most other configuration changes are picked up live. See Configuration.Installing and Uninstalling the Service
If you used the GUI installer, the service is already registered. Use these commands for manual or scripted deployments.1
Install the service
Run this in an Administrator PowerShell session. This registers Expected output:
NSPDaemon with the Windows Service Control Manager and configures automatic start and failure recovery.2
Start the service
Start-Service -Name NSPDaemon directly from PowerShell.3
Verify it is running
Configuring Failure Recovery
The installer sets sensible defaults for automatic restart on failure. To customize the recovery schedule, usesc.exe as Administrator:
Running as a Least-Privilege Account
By default, the service runs as Local System. For production environments, create a dedicated low-privilege account to limit the service’s access to the rest of the system:Checking the Windows Event Log
The daemon writes structured events to the Windows Event Log under the Application log, sourceNSPDaemon. This is the first place to look when the service fails to start or exits unexpectedly.
- Open Event Viewer (
eventvwr.msc) - Expand Windows Logs → Application
- Click Filter Current Log and set Event sources to
NSPDaemon
Troubleshooting Common Service Failures
Service stops immediately after starting
Service stops immediately after starting
The most common cause is a configuration error in Then validate your config by running the daemon in foreground mode — it prints config errors directly to the terminal:Fix any errors reported, then restart the service.
axon.toml. Check the Windows Event Log for a startup error message:Port 7842 is already in use
Port 7842 is already in use
Another process is bound to port 7842. Find it and either stop it or change the daemon’s port in To change the daemon port, update
axon.toml:[server] port in axon.toml and restart the service. Remember to update any SDK clients and agents that connect to the old port.Service fails to start: Access Denied
Service fails to start: Access Denied
If you configured a custom service account and the service reports Access Denied, the account likely does not have permission to read
axon.toml or write to the log directory. Re-run the ACL commands in the Running as a Least-Privilege Account section above, then restart the service.Health check returns Connection Refused
Health check returns Connection Refused
Connection refused on port 7842 means the daemon process is not running. Check the service status:Status is Stopped, check the Event Log for the exit reason, then start the service:Service is Running but health check hangs
Service is Running but health check hangs
The daemon process is alive but not responding to HTTP requests. This can happen if the daemon’s async runtime has deadlocked or if another process is intercepting traffic on port 7842. Restart the service to recover:If the issue recurs frequently, enable
include_spans = true in [logging] and share the span output with Nelieo support.Running in Foreground for Debugging
If you need interactive, real-time log output — for example, to trace a probe failure or test a configuration change — stop the service and run the daemon in foreground mode:Ctrl+C to stop. The binary is identical to the one the service uses — run is just a startup mode, not a different build. When you are done debugging, restart the service:
