Fixed bug when installing from the command line.
[nssm.git] / README.txt
index 2fbe5c8..f218e83 100644 (file)
@@ -1,5 +1,5 @@
 NSSM: The Non-Sucking Service Manager\r
-Version 2.17, 2013-11-12\r
+Version 2.19, 2013-11-22\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
@@ -43,6 +43,16 @@ they can clean up and shut down gracefully on receipt of the event.
 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
@@ -182,6 +192,20 @@ Take great care when including 8 in the value of AppStopMethodSkip.  If NSSM
 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
@@ -210,6 +234,22 @@ work.  Remember, however, that the path must be accessible to the user
 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
@@ -282,6 +322,8 @@ Thanks to Riccardo Gusmeroli for Italian translation.
 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
 \r
 Licence\r
 -------\r