Iain Patterson 15 سال پیش
والد
کامیت
44284fb9f6
2فایلهای تغییر یافته به همراه35 افزوده شده و 8 حذف شده
  1. 33 6
      README.txt
  2. 2 2
      nssm.h

+ 33 - 6
README.txt

@@ -1,5 +1,5 @@
 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 
 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.
 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
 -----
@@ -56,13 +59,37 @@ Managing the service
 --------------------
 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 
-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.
 
-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.
+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.
+
+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

+ 2 - 2
nssm.h

@@ -13,8 +13,8 @@
 int str_equiv(const char *, const char *);
 
 #define NSSM "nssm"
-#define NSSM_VERSION "2.1"
-#define NSSM_DATE "2009-12-28"
+#define NSSM_VERSION "2.2"
+#define NSSM_DATE "2010-04-04"
 #define NSSM_RUN "run"
 
 #endif