Skip to content

Instantly share code, notes, and snippets.

@magnetikonline
Last active January 29, 2025 06:06
Show Gist options
  • Save magnetikonline/2217fd95cf15a0324696 to your computer and use it in GitHub Desktop.
Save magnetikonline/2217fd95cf15a0324696 to your computer and use it in GitHub Desktop.
NSSM - the Non-Sucking Service Manager cheatsheet.

NSSM cheatsheat

See: NSSM - the Non-Sucking Service Manager

Create a new service

nssm.exe install SERVICE_NAME "C:\path\to\exe\or\bat\file.ext" "argument1 argument2"

List parameters for a service

nssm.exe get SERVICE_NAME *

Set a parameter for a service

nssm.exe set SERVICE_NAME PARAMETER_NAME PARAMETER_VALUE
nssm.exe set SERVICE_NAME Description "My service description."
nssm.exe set SERVICE_NAME Start SERVICE_AUTO_START
nssm.exe set SERVICE_NAME AppExit Default Exit
nssm.exe set SERVICE_NAME AppStdout "C:\log\service-output.log"

Parameter list

AppAffinity
AppDirectory
AppEnvironment
AppEnvironmentExtra
AppExit
Application
AppNoConsole
AppParameters
AppPriority
AppRestartDelay
AppRotateBytes
AppRotateBytesHigh
AppRotateFiles
AppRotateOnline
AppRotateSeconds
AppStderr
AppStderrCreationDisposition
AppStderrFlagsAndAttributes
AppStderrShareMode
AppStdin
AppStdinCreationDisposition
AppStdinFlagsAndAttributes
AppStdinShareMode
AppStdout
AppStdoutCreationDisposition
AppStdoutFlagsAndAttributes
AppStdoutShareMode
AppStopMethodConsole
AppStopMethodSkip
AppStopMethodThreads
AppStopMethodWindow
AppThrottle
DependOnGroup
DependOnService
Description
DisplayName
ImagePath
Name
ObjectName
Start
Type
@gitSambhal
Copy link

One hint also, if you want to set recovery parameters, i think sc -command is quite nice:

sc failure "ServiceName" actions= restart/60000/restart/60000/restart/60000 reset= 86400

This will restart service on first, second and subsequent failures after 1 minute (60000 ms) and will reset fail count after 1 days (86400 seconds).

thanks @savikko

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment