NSSM: The Non-Sucking Service Manager\r
-Version 2.16, 2012-12-01\r
+Version 2.21, 2013-11-24\r
\r
NSSM is a service helper program similar to srvany and cygrunsrv. It can \r
start any application as an NT service and will restart the service if it \r
Since version 2.17, NSSM can redirect the managed application's I/O streams\r
to an arbitrary path.\r
\r
+Since version 2.18, NSSM can be configured to wait a user-specified amount\r
+of time for the application to exit when shutting down.\r
+\r
+Since version 2.19, many more service options can be configured with the\r
+GUI installer as well as via the registry.\r
+\r
+Since version 2.19, NSSM can add to the service's environment by setting\r
+AppEnvironmentExtra in place of or in addition to the srvany-compatible\r
+AppEnvironment.\r
+\r
\r
Usage\r
-----\r
does not call TerminateProcess() it is possible that the application will not\r
exit when the service stops.\r
\r
+By default NSSM will allow processes 1500ms to respond to each of the methods\r
+described above before proceeding to the next one. The timeout can be\r
+configured on a per-method basis by creating REG_DWORD entries in the\r
+registry under HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters.\r
+\r
+ AppStopMethodConsole\r
+ AppStopMethodWindow\r
+ AppStopMethodThreads\r
+\r
+Each value should be set to the number of milliseconds to wait. Please note\r
+that the timeout applies to each process in the application's process tree,\r
+so the actual time to shutdown may be longer than the sum of all configured\r
+timeouts if the application spawns multiple subprocesses.\r
+\r
\r
I/O redirection\r
---------------\r
running the service.\r
\r
\r
+Environment variables\r
+---------------------\r
+NSSM can replace or append to the managed application's environment. Two\r
+multi-valued string (REG_MULTI_SZ) registry values are recognised under\r
+HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters.\r
+\r
+AppEnvironment defines a list of environment variables which will override\r
+the service's environment. AppEnvironmentExtra defines a list of\r
+environment variables which will be added to the service's environment.\r
+\r
+Each entry in the list should be of the form KEY=VALUE. It is possible to\r
+omit the VALUE but the = symbol is mandatory.\r
+\r
+srvany only supports AppEnvironment.\r
+\r
+\r
Removing services using the GUI\r
-------------------------------\r
NSSM can also remove services. Run\r
Thanks to Eric Cheldelin for the inspiration to generate a Control-C event\r
on shutdown.\r
Thanks to Brian Baxter for suggesting how to escape quotes from the command prompt.\r
+Thanks to Russ Holmann for suggesting that the shutdown timeout be configurable.\r
+Thanks to Paul Spause for spotting a bug with default registry entries.\r
+Thanks to BUGHUNTER for spotting more GUI bugs.\r
\r
Licence\r
-------\r