X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=README.txt;h=8be1383aea178d261c6b4dd932094bc1ac06f6a9;hb=a02019297db435c1de6846fd0387a53335f4289e;hp=f2fe712ff8c8288bc8d40181152ac0dd4b3c8f7c;hpb=cb571db509c239c3c465907a718479612fe5bb15;p=nssm.git diff --git a/README.txt b/README.txt index f2fe712..8be1383 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,5 @@ NSSM: The Non-Sucking Service Manager -Version 2.17, 2013-11-12 +Version 2.21, 2013-11-24 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 @@ -46,6 +46,18 @@ to an arbitrary path. Since version 2.18, NSSM can be configured to wait a user-specified amount of time for the application to exit when shutting down. +Since version 2.19, many more service options can be configured with the +GUI installer as well as via the registry. + +Since version 2.19, NSSM can add to the service's environment by setting +AppEnvironmentExtra in place of or in addition to the srvany-compatible +AppEnvironment. + +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 and startup +type. + Usage ----- @@ -227,6 +239,48 @@ work. Remember, however, that the path must be accessible to the user running the service. +File rotation +------------- +When using I/O redirection, NSSM can rotate existing output files prior to +opening stdout and/or stderr. An existing file will be renamed with a +suffix based on the file's last write time, to millisecond precision. For +example, the file nssm.log might be rotated to nssm-20131221T113939.457.log. + +NSSM will look in the registry under +HKLM\SYSTEM\CurrentControlSet\Services\\Parameters for REG_DWORD +entries which control how rotation happens. + +If AppRotateFiles is missing or set to 0, rotation is disabled. Any non-zero +value enables rotation. + +If AppRotateSeconds is non-zero, a file will not be rotated if its last write +time is less than the given number of seconds in the past. + +If AppRotateBytes is non-zero, a file will not be rotated if it is smaller +than the given number of bytes. 64-bit file sizes can be handled by setting +a non-zero value of AppRotateBytesHigh. + +Rotation is independent of the CreateFile() parameters used to open the files. +They will be rotated regardless of whether NSSM would otherwise have appended +or replaced them. + + +Environment variables +--------------------- +NSSM can replace or append to the managed application's environment. Two +multi-valued string (REG_MULTI_SZ) registry values are recognised under +HKLM\SYSTEM\CurrentControlSet\Services\\Parameters. + +AppEnvironment defines a list of environment variables which will override +the service's environment. AppEnvironmentExtra defines a list of +environment variables which will be added to the service's environment. + +Each entry in the list should be of the form KEY=VALUE. It is possible to +omit the VALUE but the = symbol is mandatory. + +srvany only supports AppEnvironment. + + Removing services using the GUI ------------------------------- NSSM can also remove services. Run @@ -271,11 +325,14 @@ To remove the server: Building NSSM from source ------------------------- -NSSM is known to compile with Visual Studio 6, Visual Studio 2005 and Visual -Studio 2008. +NSSM is known to compile with Visual Studio 2008. Older Visual Studio +releases may or may not work. NSSM will also compile with Visual Studio 2010 but the resulting executable -will not run on versions of Windows older than XP SP2. +will not run on versions of Windows older than XP SP2. If you require +compatiblity with older Windows releases you should change the Platform +Toolset to v90 in the General section of the project's Configuration +Properties. Credits @@ -300,6 +357,9 @@ Thanks to Eric Cheldelin for the inspiration to generate a Control-C event on shutdown. Thanks to Brian Baxter for suggesting how to escape quotes from the command prompt. Thanks to Russ Holmann for suggesting that the shutdown timeout be configurable. +Thanks to Paul Spause for spotting a bug with default registry entries. +Thanks to BUGHUNTER for spotting more GUI bugs. +Thanks to Doug Watson for suggesting file rotation. Licence -------