Downloads of v


Last Update:

16 Jan 2018

Package Maintainer(s):

Software Author(s):

  • Iain Patterson


service foss admin cli

NSSM - the Non-Sucking Service Manager

  • 1
  • 2
  • 3 | Updated: 16 Jan 2018



Downloads of v


Software Author(s):

  • Iain Patterson

  • 1
  • 2
  • 3
NSSM - the Non-Sucking Service Manager

  • 1
  • 2
  • 3

Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed

Validation Testing Passed

Verification Testing Passed


Scan Testing Resulted in Flagged:

This package was submitted (and approved) prior to automated virus scanning integration into the package moderation processs.

We recommend clicking the "Details" link to make your own decision on installing this package.


To install NSSM - the Non-Sucking Service Manager, run the following command from the command line or from PowerShell:


To upgrade NSSM - the Non-Sucking Service Manager, run the following command from the command line or from PowerShell:


To uninstall NSSM - the Non-Sucking Service Manager, run the following command from the command line or from PowerShell:


NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Enter your internal repository url

(this should look similar to

4. Choose your deployment method:

choco upgrade nssm -y --source="'STEP 3 URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:

choco upgrade nssm -y --source="'STEP 3 URL'"

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0

Exit $exitCode

- name: Ensure nssm installed
    name: nssm
    state: present
    source: STEP 3 URL

See docs at

chocolatey_package 'nssm' do
  action    :install
  version  ''
  source   'STEP 3 URL'

See docs at

    Name: nssm,
    Source: STEP 3 URL

Requires Otter Chocolatey Extension. See docs at

cChocoPackageInstaller nssm
   Name     = 'nssm'
   Ensure   = 'Present'
   Version  = ''
   Source   = 'STEP 3 URL'

Requires cChoco DSC Resource. See docs at

package { 'nssm':
  provider => 'chocolatey',
  ensure   => '',
  source   => 'STEP 3 URL',

Requires Puppet Chocolatey Provider module. See docs at

salt '*' chocolatey.install nssm version="" source="STEP 3 URL"

See docs at

5. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved as a trusted package on 11 Jul 2020.


nssm is a service helper which doesn't suck. srvany and other service helper programs suck because they don't handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died. nssm monitors the running service and will restart it if it dies. With nssm you know that if a service says it's running, it really is. Alternatively, if your application is well-behaved you can configure nssm to absolve all responsibility for restarting it and let Windows take care of recovery actions.

nssm logs its progress to the system Event Log so you can get some idea of why an application isn't behaving as it should.


  • GUI and CLI interface
  • Configurable action when application exits: restart, ignore, exit, suicide
  • Manage native services
  • Rotate output files from the monitored application
  • Set the monitored application's priority class and CPU affinity
  • UAC aware
  • Unicode support
  • Works under Windows 2000 or later. Specifically, Windows 7, Windows 8 and Windows 10 are supported, x32 and x64 bit versions.

NSSM is public domain.  You may unconditionally use it and/or its source code 
for any purpose you wish.

Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.

Package is downloaded from and can be verified like this:

1. Go to


   to download the installer.

2. You can use one of the following methods to obtain the SHA256 checksum:
   - Use powershell function 'Get-FileHash'
   - Use Chocolatey utility 'checksum.exe'

   checksum32: 99F5045FFFBFFB745D67FE3A065A953C4A3D9C253B868892D9B685B0EE7D07B8

File 'License.txt' is obtained from:;a=blob;f=README.txt;h=12db7e88a4cd83edb7023b2b92e7d3d5eabf1175;hb=HEAD#l882

# If some nssm service is up and running, kill it so that exe can be updated
Get-Process nssm.exe -ea 0 | Stop-Process -Force
$ErrorActionPreference = 'Stop'

$toolsDir = Split-Path $MyInvocation.MyCommand.Definition
if ((Get-OSArchitectureWidth 64) -and $env:chocolateyForceX86 -ne 'true') {
         Write-Host "Installing 64 bit version"; $is64 = $true
} else { Write-Host "Installing 32 bit version"} 

$packageArgs = @{
    PackageName  = 'nssm'
    FileFullPath = Get-Item $toolsDir\*.zip
    Destination  = $toolsDir
Get-ChildItem $toolsDir\* | Where-Object { $_.PSISContainer } | Remove-Item -Recurse -Force #remove older package dirs
Get-ChocolateyUnzip @packageArgs

$source = if ($is64) { 'win64' } else { 'win32' }
Copy-Item $toolsDir\nssm-*\$source\nssm.exe $toolsDir
Remove-Item -Force $toolsDir\nssm*.zip -ea 0
Remove-Item -Recurse $toolsDir\nssm-*
md5: 63175D3830B8A5CFD254353C4F561E5C | sha1: CA2F6782A05AF85FACF9B620E047B01271EDD11D | sha256: 99F5045FFFBFFB745D67FE3A065A953C4A3D9C253B868892D9B685B0EE7D07B8 | sha512: F25FCC7B37D64AA3BB44336182A343250BF7FE7DF1D22795BC742AE1CCE574D9BBBB22AFE2BA4352DF40676E54F8442AE2DC1516C58A7B42C6E5C464804CD342

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Version Downloads Last Updated Status
NSSM - the Non-Sucking Service Manager 2.24.101 8561 Monday, December 25, 2017 Approved
NSSM - the Non-Sucking Service Manager 2.24.101-g897c7ad 2053 Monday, June 19, 2017 Approved
NSSM - the Non-Sucking Service Manager 61589 Monday, June 19, 2017 Approved
NSSM - the Non-Sucking Service Manager 41118 Friday, December 23, 2016 Approved
NSSM - the Non-Sucking Service Manager 1403 Thursday, December 22, 2016 Approved
NSSM - the Non-Sucking Service Manager 2.24.0 66673 Sunday, September 14, 2014 Approved
NSSM - the Non-Sucking Service Manager 5179 Thursday, December 12, 2013 Unknown
NSSM - the Non-Sucking Service Manager 2.16.0 2451 Monday, September 23, 2013 Unknown

This package has no dependencies.

Discussion for the NSSM - the Non-Sucking Service Manager Package

Ground Rules:

  • This discussion is only about NSSM - the Non-Sucking Service Manager and the NSSM - the Non-Sucking Service Manager package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or NSSM - the Non-Sucking Service Manager, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus