请问各位大佬,在阿里云服务器上nohup java -Xms512m -Xmx1024m -jar spring.jar > /opt/logs/spring.log 2>&1 &命令启动的java进程,刚开始启动时,spring.log日志文件的格式为text/plain,过一段时间后再查看格式变成了application/octet-stream; charset=binary,这样就导致如果java进程在运行,我通过> spring.log是清空不了日志文件的,请问这个怎么解决?备注:在公司的物理服务器上日志格式一直是text/plain,不会出现这个问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你好!在阿里云服务器上使用nohup
命令来后台运行Java应用是一个常见的做法,尤其是当你希望程序在后台持续运行,即使你关闭了SSH会话也不会中断。你的命令格式基本是正确的,它做了以下几件事:
/opt/logs/spring.log
文件中,这样你的应用日志就会被记录在这里。2>&1
来合并标准错误和标准输出,或者指定一个单独的文件来存放错误日志,如 2>/opt/logs/spring.err.log
。所以,如果你希望同时捕获标准输出和标准错误到同一个文件,完整的命令应该是:
nohup java -Xms512m -Xmx1024m -jar spring.jar > /opt/logs/spring.log 2>&1 &
这里的&
符号放在最后,用于将整个命令放入后台执行。
记得确保 /opt/logs/
目录存在,并且你的用户有权限写入该目录。如果需要,可以通过 mkdir -p /opt/logs/
创建目录,以及通过 chmod
或 chown
调整权限。