Refactor kill functions to be independent of services.
[nssm.git] / README.txt
index 7aca940..e944340 100644 (file)
@@ -326,6 +326,19 @@ 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\r
 a non-zero value of AppRotateBytesHigh.\r
 \r
+If AppRotateDelay is non-zero, NSSM will pause for the given number of\r
+milliseconds after rotation.\r
+\r
+If AppStdoutCopyAndTruncate or AppStdErrCopyAndTruncate are non-zero, the\r
+stdout (or stderr respectively) file will be rotated by first taking a copy\r
+of the file then truncating the original file to zero size.  This allows\r
+NSSM to rotate files which are held open by other processes, preventing the\r
+usual MoveFile() from succeeding.  Note that the copy process may take some\r
+time if the file is large, and will temporarily consume twice as much disk\r
+space as the original file.  Note also that applications reading the log file\r
+may not notice that the file size changed.  Using this option in conjunction\r
+with AppRotateDelay may help in that case.\r
+\r
 Rotation is independent of the CreateFile() parameters used to open the files.\r
 They will be rotated regardless of whether NSSM would otherwise have appended\r
 or replaced them.\r
@@ -692,6 +705,7 @@ run under a local user account.
 Thanks to Sam Townsend for noticing a regression with TerminateProcess().\r
 Thanks to Barrett Lewis for suggesting the option to skip terminating the\r
 application's child processes.\r
+Thanks to Miguel Angel TerrĂ³n for suggesting copy/truncate rotation.\r
 \r
 Licence\r
 -------\r