X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=README.txt;h=12a83939ffef5e3b20e0abcf42da875576b54ae2;hb=3e92dce8716991c7100ea55f0b5e202a05c1b56d;hp=224af93f15e0bcf391b754eaf4c631f343d171b8;hpb=61e7185453e213b98c0046cff96f0ace10d12924;p=nssm.git diff --git a/README.txt b/README.txt index 224af93..12a8393 100644 --- a/README.txt +++ b/README.txt @@ -68,6 +68,8 @@ Since version 2.22, NSSM can manage existing services. Since version 2.25, NSSM can execute commands in response to service events. +Since version 2.25, NSSM can list services it manages. + Usage ----- @@ -331,7 +333,7 @@ a non-zero value of AppRotateBytesHigh. If AppRotateDelay is non-zero, NSSM will pause for the given number of milliseconds after rotation. -If AppStdoutCopyAndTruncate or AppStdErrCopyAndTruncate are non-zero, the +If AppStdoutCopyAndTruncate or AppStderrCopyAndTruncate are non-zero, the stdout (or stderr respectively) file will be rotated by first taking a copy of the file then truncating the original file to zero size. This allows NSSM to rotate files which are held open by other processes, preventing the @@ -572,6 +574,12 @@ If the application crashes and is restarted by NSSM, the order might be: Exit/Post +If NSSM is redirecting stdout or stderr it can be configured to redirect +the output of any hooks it runs. Set AppRedirectHooks to 1 to enable +that functionality. A hook can of course redirect its own I/O independently +of NSSM. + + Managing services using the GUI ------------------------------- NSSM can edit the settings of existing services with the same GUI that is @@ -630,9 +638,10 @@ would have the same effect. Non-standard parameters ----------------------- -The AppEnvironment and AppEnvironmentExtra parameters recognise an -additional argument when querying the environment. The following syntax -will print all extra environment variables configured for a service +The AppEnvironment, AppEnvironmentExtra and Environment parameters +recognise an additional argument when querying the environment. The +following syntax will print all extra environment variables configured +for a service nssm get AppEnvironmentExtra @@ -647,6 +656,39 @@ KEY=VALUE pair in separate command line arguments. For example: nssm set AppEnvironment CLASSPATH=C:\Classes TEMP=C:\Temp +Alternatively the KEY can be prefixed with a + or - symbol to respectively +add or remove a pair from the block. + +The following two lines set CLASSPATH and TEMP: + + nssm set AppEnvironment CLASSPATH=C:\Classes + nssm set AppEnvironment +TEMP=C:\Temp + +If the key is already present, specifying +KEY will override the value +while preserving the order of keys: + + nssm set AppEnvironment +CLASSPATH=C:\NewClasses + +The following syntax removes a single variable from the block while +leaving any other variables in place. + + nssm set AppEnvironment -TEMP + +Specifying -KEY=VALUE will remove the variable only if the existing +value matches. + +The following syntax would not remove TEMP=C:\Temp + + nssm set AppEnvironment -TEMP=C:\Work\Temporary + +The + and - symbols are valid characters in environment variables. +The syntax :KEY=VALUE is equivalent to KEY=VALUE and can be used to +set variables which start with +/- or to explicitly reset the block in +a script: + + nssm set AppEnvironment :CLASSPATH=C:\Classes + nssm set AppEnvironment +TEMP=C:\Temp + The AppExit parameter requires an additional argument specifying the exit code to get or set. The default action can be specified with the string @@ -790,6 +832,13 @@ running multiple instances of NSSM from different locations may be confusing if they are not all the same version. +Listing managed services +------------------------ +The following command will print the names of all services managed by NSSM: + + nssm list + + Example usage ------------- To install an Unreal Tournament server: @@ -878,6 +927,12 @@ Thanks to Yuriy Lesiuk for suggesting setting the environment before querying the registry for parameters. Thanks to Gerald Haider for noticing that installing a service with NSSM in a path containing spaces was technically a security vulnerability. +Thanks to Scott Ware for reporting a crash saving the environment on XP 32-bit. +Thanks to Stefan and Michael Scherer for reporting a bug writing the event messages source. +Thanks to Paul Baxter for help with Visual Studio 2015. +Thanks to Mathias Breiner for help with Visual Studio and some registry fixes. +Thanks to David Bremner for general tidyups. +Thanks to Nabil Redmann for suggesting redirecting hooks' output. Licence -------