解决方法:
参考:https://www.jianshu.com/p/d0f55a25486b
1.手动输入命令,保留nohup.out文件多少行
例如保留10000行,可如下操作:
log=`tail -n 10000 nohup.out`; echo "$log" > nohup.out
2.写定时任务,定时清理nohup.out文件
其他处理办法:
1. 关闭当前的服务,rm -rf 直接删掉,启动服务。
2. echo ‘’ > nohup.out 清空文件内容。这个不需要关闭服务,但是如果项目多,nohup.out 文件多 ,不好定位。
3. nohup java -jar /usr/local/jar/test.jar > /var/log/nohup.log & 全部指定到一个文件!
4. 每个项目都是有log的,所以这个启动日志就不需要看。
nohup java -jar /usr/local/jar/test.jar > /dev/null 2>&1 &
直接指定到黑洞目录,在本地也不会保留。
关于/dev/null文件
Linux下有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
Linux下有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
nohup命令:
参考:https://www.runoob.com/linux/linux-comm-nohup.html
语法格式
nohup Command [ Arg … ] [ & ]
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行。
以下命令在后台执行 root 目录下的 runoob.sh 脚本,注意末尾的&,&:让命令在后台执行,终端退出后命令仍旧执行。
nohup /root/runoob.sh &