Don't expand parameters when querying a service.
[nssm.git] / README.txt
index 685807a..b05fd78 100644 (file)
@@ -56,6 +56,9 @@ AppEnvironment.
 Since version 2.22, NSSM can set the managed application's process priority\r
 and CPU affinity.\r
 \r
 Since version 2.22, NSSM can set the managed application's process priority\r
 and CPU affinity.\r
 \r
+Since version 2.22, NSSM can apply an unconditional delay before restarting\r
+an application which has exited.\r
+\r
 Since version 2.22, NSSM can rotate existing output files when redirecting I/O.\r
 \r
 Since version 2.22, NSSM can set service display name, description, startup\r
 Since version 2.22, NSSM can rotate existing output files when redirecting I/O.\r
 \r
 Since version 2.22, NSSM can set service display name, description, startup\r
@@ -129,6 +132,17 @@ You can change the threshold for the service by setting the number of
 milliseconds as a REG_DWORD value in the registry at\r
 HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppThrottle.\r
 \r
 milliseconds as a REG_DWORD value in the registry at\r
 HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppThrottle.\r
 \r
+Alternatively, NSSM can pause for a configurable amount of time before\r
+attempting to restart the application even if it successfully ran for the\r
+amount of time specified by AppThrottle.  NSSM will consult the REG_DWORD value\r
+at HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppRestartDelay\r
+for the number of milliseconds to wait before attempting a restart.  If\r
+AppRestartDelay is set and the application is determined to be subject to\r
+throttling, NSSM will pause the service for whichever is longer of the\r
+configured restart delay and the calculated throttle period.\r
+\r
+If AppRestartDelay is missing or invalid, only throttling will be applied.\r
+\r
 NSSM will look in the registry under\r
 HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppExit for\r
 string (REG_EXPAND_SZ) values corresponding to the exit code of the application.\r
 NSSM will look in the registry under\r
 HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppExit for\r
 string (REG_EXPAND_SZ) values corresponding to the exit code of the application.\r
@@ -300,6 +314,25 @@ Rotation is independent of the CreateFile() parameters used to open the files.
 They will be rotated regardless of whether NSSM would otherwise have appended\r
 or replaced them.\r
 \r
 They will be rotated regardless of whether NSSM would otherwise have appended\r
 or replaced them.\r
 \r
+NSSM can also rotate files which hit the configured size threshold while the\r
+service is running.  Additionally, you can trigger an on-demand rotation by\r
+running the command\r
+\r
+    nssm rotate <servicename>\r
+\r
+On-demand rotations will happen after the next line of data is read from\r
+the managed application, regardless of the value of AppRotateBytes. Be aware\r
+that if the application is not particularly verbose the rotation may not\r
+happen for some time.\r
+\r
+To enable online and on-demand rotation, set AppRotateOnline to a non-zero\r
+value.\r
+\r
+Note that online rotation requires NSSM to intercept the application's I/O\r
+and create the output files on its behalf.  This is more complex and\r
+error-prone than simply redirecting the I/O streams before launching the\r
+application.  Therefore online rotation is not enabled by default.\r
+\r
 \r
 Environment variables\r
 ---------------------\r
 \r
 Environment variables\r
 ---------------------\r
@@ -481,6 +514,8 @@ NSSM offers rudimentary service control features.
 \r
     nssm start <servicename>\r
 \r
 \r
     nssm start <servicename>\r
 \r
+    nssm restart <servicename>\r
+\r
     nssm stop <servicename>\r
 \r
     nssm status <servicename>\r
     nssm stop <servicename>\r
 \r
     nssm status <servicename>\r
@@ -588,6 +623,7 @@ Thanks to Doug Watson for suggesting file rotation.
 Thanks to Арслан Сайдуганов for suggesting setting process priority.\r
 Thanks to Robert Middleton for suggestion and draft implementation of process\r
 affinity support.\r
 Thanks to Арслан Сайдуганов for suggesting setting process priority.\r
 Thanks to Robert Middleton for suggestion and draft implementation of process\r
 affinity support.\r
+Thanks to Andrew RedzMax for suggesting an unconditional restart delay.\r
 \r
 Licence\r
 -------\r
 \r
 Licence\r
 -------\r