|
|
@ -1,5 +1,5 @@
|
|
|
|
NSSM: The Non-Sucking Service Manager
|
|
|
|
NSSM: The Non-Sucking Service Manager
|
|
|
|
Version 2.1, 2009-12-28 by Benjamin Mayrargue (www.softlion.com)
|
|
|
|
Version 2.2, 2010-04-04
|
|
|
|
|
|
|
|
|
|
|
|
NSSM is a service helper program similar to srvany and cygrunsrv. It can
|
|
|
|
NSSM is a service helper program similar to srvany and cygrunsrv. It can
|
|
|
|
start any application as an NT service and will restart the service if it
|
|
|
|
start any application as an NT service and will restart the service if it
|
|
|
@ -17,6 +17,9 @@ options on the command line.
|
|
|
|
Since version 2.1, NSSM can be compiled for x64 platforms.
|
|
|
|
Since version 2.1, NSSM can be compiled for x64 platforms.
|
|
|
|
Thanks Benjamin Mayrargue.
|
|
|
|
Thanks Benjamin Mayrargue.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since version 2.2, NSSM can be configured to take different actions
|
|
|
|
|
|
|
|
based on the exit code of the managed application.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Usage
|
|
|
|
Usage
|
|
|
|
-----
|
|
|
|
-----
|
|
|
@ -56,13 +59,37 @@ Managing the service
|
|
|
|
--------------------
|
|
|
|
--------------------
|
|
|
|
NSSM will launch the application listed in the registry when you send it a
|
|
|
|
NSSM will launch the application listed in the registry when you send it a
|
|
|
|
start signal and will terminate it when you send a stop signal. So far, so
|
|
|
|
start signal and will terminate it when you send a stop signal. So far, so
|
|
|
|
much like srvany. But NSSM is the Non-Sucking service manager and will take
|
|
|
|
much like srvany. But NSSM is the Non-Sucking service manager and can take
|
|
|
|
action if/when the application dies.
|
|
|
|
action if/when the application dies.
|
|
|
|
|
|
|
|
|
|
|
|
NSSM will try to restart itself if it notices that the application died but
|
|
|
|
With no configuration from you, NSSM will try to restart itself if it notices
|
|
|
|
you didn't send it a stop signal. NSSM will keep trying, pausing 30 seconds
|
|
|
|
that the application died but you didn't send it a stop signal. NSSM will
|
|
|
|
between each attempt, until the service is successfully started or you send
|
|
|
|
keep trying, pausing 30 seconds between each attempt, until the service is
|
|
|
|
it a stop signal.
|
|
|
|
successfully started or you send it a stop signal.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NSSM will look in the registry under
|
|
|
|
|
|
|
|
HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppExit for
|
|
|
|
|
|
|
|
string (REG_SZ) values corresponding to the exit code of the application.
|
|
|
|
|
|
|
|
If the application exited with code 1, for instance, NSSM will look for a
|
|
|
|
|
|
|
|
string value under AppExit called "1" or, if it does not find it, will
|
|
|
|
|
|
|
|
fall back to the AppExit (Default) value. You can find out the exit code
|
|
|
|
|
|
|
|
for the application by consulting the system event log. NSSM will log the
|
|
|
|
|
|
|
|
exit code when the application exits.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Based on the data found in the registry, NSSM will take one of three actions:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the value data is "Restart" NSSM will try to restart the application as
|
|
|
|
|
|
|
|
described above. This is its default behaviour.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the value data is "Ignore" NSSM will not try to restart the application
|
|
|
|
|
|
|
|
but will continue running itself. This emulates the (usually undesirable)
|
|
|
|
|
|
|
|
behaviour of srvany. The Windows Services console would show the service
|
|
|
|
|
|
|
|
as still running even though the application has exited.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the value data is "Exit" NSSM will exit. The Windows Services console
|
|
|
|
|
|
|
|
would show the service as stopped. If you wish to provide finer-grained
|
|
|
|
|
|
|
|
control over service recovery you should use this code and edit the failure
|
|
|
|
|
|
|
|
action manually.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Removing services using the GUI
|
|
|
|
Removing services using the GUI
|
|
|
|