nssm-2.24xxst
资源内容介绍
nssm-2.24 NSSM: The Non-Sucking Service ManagerVersion 2.24, 2014-08-31NSSM 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 fails for any reason.NSSM also has a graphical service installer and remover.Full documentation can be found online at http://nssm.cc/Since version 2.0, the GUI can be bypassed by entering all appropriate 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 actionsbased 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.Since version 2.8, NSSM tries harder to shut down the managed applicationgracefully and throttles restart attempts if the application doesn't runfor a minimum amount of time.Since version 2.11, NSSM respects srvany's AppEnvironment parameter.Since version 2.13, NSSM is translated into French.Thanks François-Régis Tardy.Since version 2.15, NSSM is translated into Italian.Thanks Riccardo Gusmeroli.Since version 2.17, NSSM can try to shut down console applications bysimulating a Control-C keypress. If they have installed a handler routinethey 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 streamsto an arbitrary path.Since version 2.18, NSSM can be configured to wait a user-specified amountof time for the application to exit when shutting down.Since version 2.19, many more service options can be configured with theGUI installer as well as via the registry.Since version 2.19, NSSM can add to the service's environment by settingAppEnvironmentExtra in place of or in addition to the srvany-compatibleAppEnvironment.Since version 2.22, NSSM can set the managed application's process priorityand CPU affinity.Since version 2.22, NSSM can apply an unconditional delay before restartingan application which has exited.Since version 2.22, NSSM can rotate existing output files when redirecting I/O.Since version 2.22, NSSM can set service display name, description, startuptype, log on details and dependencies.Since version 2.22, NSSM can manage existing services.Usage-----In the usage notes below, arguments to the program may be written in anglebrackets and/or square brackets. <string> means you must insert theappropriate string and [<string>] means the string is optional. See theexamples below...Note that everywhere <servicename> appears you may substitute theservice's display name.Installation using the GUI--------------------------To install a service, run nssm install <servicename>You will be prompted to enter the full path to the application you wish to run and any command line options to pass to that application.Use the system service manager (services.msc) to control advanced service properties such as startup method and desktop interaction. NSSM may support these options at a later time...Installation using the command line-----------------------------------To install a service, run nssm install <servicename> <application> [<options>]NSSM will then attempt to install a service which runs the named application with the given options (if you specified any).Don't forget to enclose paths in "quotes" if they contain spaces!If you want to include quotes in the options you will need to """quote""" thequotes.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 can take action if/when the application dies.With no configuration from you, NSSM will try to restart itself if it noticesthat the application died but you didn't send it a stop signal. NSSM willkeep trying, pausing between each attempt, until the service is successfullystarted or you send it a stop signal.NSSM will pause an increasingly longer time between subsequent restart attemptsif the service fails to start in a timely manner, up to a maximum of fourminutes. This is so it does not consume an excessive amount of CPU time tryingto start a failed application over and over again. If you identify the causeof the failure and don't want to wait you can use the Windows service console(where the service will be shown in Paused state) to send a continue signal toNSSM and it will retry within a few seconds.By default, NSSM defines "a timely manner" to be within 1500 milliseconds.You can change the threshold for the service by setting the number ofmilliseconds as a REG_DWORD value in the registry atHKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppThrottle.Alternatively, NSSM can pause for a configurable amount of time beforeattempting to restart the application even if it successfully ran for theamount of time specified by AppThrottle. NSSM will consult the REG_DWORD valueat HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppRestartDelayfor the number of milliseconds to wait before attempting a restart. IfAppRestartDelay is set and the application is determined to be subject tothrottling, NSSM will pause the service for whichever is longer of theconfigured restart delay and the calculated throttle period.If AppRestartDelay is missing or invalid, only throttling will be applied.NSSM will look in the registry underHKLM\SYSTEM\CurrentControlSet\Services\<service>\Parameters\AppExit forstring (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 astring value under AppExit called "1" or, if it does not find it, willfall back to the AppExit (Default) value. You can find out the exit codefor the application by consulting the system event log. NSSM will log theexit 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 asdescribed above. This is its default behaviour.If the value data is "Ignore" NSSM will not try to restart the applicationbut will continue running itself. This emulates the (usually undesirable)behaviour of srvany. The Windows Services console would show the serviceas still running even though the application has exited.If the value data is "Exit" NSSM will exit gracefully. The Windows Servicesconsole would show the service as stopped. If you wish to providefiner-grained control over service recovery you should use this code andedit the failure action manually. Please note that Windows versions priorto Vista will not consider such an exit to be a failure. On older versionsof Windows you should use "Suicide" instead.If the value data is "Suicide" NSSM will simulate a crash and exit withoutinforming the service manager. This option should only be used forpre-Vista systems where you wish to apply a service recovery action. Notethat if the monitored application exits with code 0, NSSM will only honour arequest 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.Application priority--------------------NSSM can set the priority class of the managed application. NSSM will look inthe registry under HKLM\SYSTEM\CurrentControlSet\Services\<service>\Parametersfor the REG_DWORD entry AppPriority. Valid values correspon