X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=README.txt;h=88a729078321e1469a9a4a68a6efe9d1588915ff;hb=70453ecb690ff5d6008677ced1016d0235bee329;hp=59b71428a4b411cd05bbcdd57292494af68a1246;hpb=f76171a9d3b313a233d84728d212f8237e5fd010;p=nssm.git diff --git a/README.txt b/README.txt index 59b7142..88a7290 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,5 @@ NSSM: The Non-Sucking Service Manager -Version 2.3, 2010-04-21 +Version 2.7, 2011-01-25 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 @@ -22,6 +22,8 @@ based on the exit code of the managed application. Since version 2.3, NSSM logs to the Windows event log more elegantly. +Since version 2.5, NSSM respects environment variables in its parameters. + Usage ----- @@ -66,12 +68,19 @@ action if/when the application dies. With no configuration from you, NSSM will try to restart itself if it notices that the application died but you didn't send it a stop signal. NSSM will -keep trying, pausing 30 seconds between each attempt, until the service is -successfully started or you send it a stop signal. +keep trying, pausing between each attempt, until the service is successfully +started or you send it a stop signal. + +NSSM will pause an increasingly longer time between subsequent restart attempts +if the service fails to start in a timely manner, up to a maximum of 60 seconds. +This is so it does not consume an excessive amount of CPU time trying to start +a failed application over and over again. If you identify the cause of the +failure and don't want to wait you can use the Windows service console to +send a continue signal to NSSM and it will retry within a few seconds. NSSM will look in the registry under HKLM\SYSTEM\CurrentControlSet\Services\\Parameters\AppExit for -string (REG_SZ) values corresponding to the exit code of the application. +string (REG_EXPAND_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 @@ -88,10 +97,19 @@ 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. +If the value data is "Exit" NSSM will exit gracefully. 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. Please note that Windows versions prior +to Vista will not consider such an exit to be a failure. On older versions +of Windows you should use "Suicide" instead. + +If the value data is "Suicide" NSSM will simulate a crash and exit without +informing the service manager. This option should only be used for +pre-Vista systems where you wish to apply a service recovery action. Note +that if the monitored application exits with code 0, NSSM will only honour a +request to suicide if you explicitly configure a registry key for exit code 0. +If only the default action is set to Suicide NSSM will instead exit gracefully. Removing services using the GUI @@ -144,8 +162,13 @@ Studio 2008. Credits ------- +Thanks to Bernard Loh for finding a bug with service recovery. Thanks to Benjamin Mayrargue (www.softlion.com) for adding 64-bit support. Thanks to Joel Reingold for spotting a command line truncation bug. +Thanks to Arve Knudsen for spotting that child processes of the monitored +application could be left running on service shutdown, and that a missing +registry value for AppDirectory confused NSSM. +Thanks to Peter Wagemans and Laszlo Kereszt for suggesting throttling restarts. Licence -------