X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=README.txt;h=0a0c47c62b577cdff51cbc700483b3a5a968ae0d;hb=2c60e5334f6df07bf42e7a91cf59638453eca473;hp=f5e6ed8827c30fc2dbfc08efaa9940cba8e35f9c;hpb=b3a4446ab363b5895aa2e04c645ed5d5dfa00442;p=nssm.git diff --git a/README.txt b/README.txt index f5e6ed8..0a0c47c 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,5 @@ NSSM: The Non-Sucking Service Manager -Version 2.18, 2013-11-15 +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 @@ -49,6 +49,17 @@ 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, startup +type and log on details. + +Since version 2.22, NSSM can edit existing services with the GUI. + Usage ----- @@ -230,6 +241,63 @@ 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. + + +Managing services using the GUI +------------------------------- +NSSM can edit the settings of existing services with the same GUI that is +used to install them. Run + + nssm edit + +to bring up the GUI. + +NSSM offers limited editing capabilities for services other than those which +run NSSM itself. When NSSM is asked to edit a service which does not have +the App* registry settings described above, the GUI will allow editing only +system settings such as the service display name and description. + + Removing services using the GUI ------------------------------- NSSM can also remove services. Run @@ -274,11 +342,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 @@ -303,6 +374,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 -------