Java 如何更正删除catalina.out?

Java 如何更正删除catalina.out?,java,tomcat,size,delete-file,catalina.out,Java,Tomcat,Size,Delete File,Catalina.out,我无法重新启动Tomcat Web服务器。但是卡塔琳娜,我们会变得很大。 我已尝试在测试服务器上删除,并创建了新的空。但是Tomcat不再在新的catalina.out中写作了。如何正确地删除/创建空的新文件?在基本Tomcat安装中,catalina.out通常是通过Tomcat启动程序脚本进行stdout/stderr重定向的结果 如果在Unix系统上运行Tomcat,并且在Tomcat运行时删除了该文件,那么问题是该进程仍然会打开该文件的描述符并继续在其上写入。因此,解决办法是使用专门处理

我无法重新启动Tomcat Web服务器。但是卡塔琳娜,我们会变得很大。
我已尝试在测试服务器上删除,并创建了新的空。但是Tomcat不再在新的catalina.out中写作了。如何正确地删除/创建空的新文件?

在基本Tomcat安装中,
catalina.out
通常是通过Tomcat启动程序脚本进行stdout/stderr重定向的结果


如果在Unix系统上运行Tomcat,并且在Tomcat运行时删除了该文件,那么问题是该进程仍然会打开该文件的描述符并继续在其上写入。因此,解决办法是使用专门处理此类案件的程序。例如,logrotate(在几乎所有Linux发行版中都是标准的)。

如果您使用的是Gnu/Linux或Mac OS X,您可以执行以下操作:

echo "" > catalina.out
甚至更短:

> catalina.out 
对我来说

无法工作,因为文件是使用root/other用户权限创建的

sudo truncate -s 0 catalina.out

为我工作。这里-s表示大小,我将文件大小设置为0

您不需要创建文件大小。它将自动创建。也许你是用
root
创建的,或者是另一个导致tomcat无法打开它的用户。正如@Mustafa Genç所说,你可能已经将文件创建为
root
?如果是这样,请删除它,不要重新创建它,让tomcat自动创建它。重要的是——永远不要删除!!!因为程序保留了文件描述符。应按照此答案中的建议截断文件
sudo echo "" > catalina.out
sudo truncate -s 0 catalina.out