nohup问题


  1. Unix/Linux下一般比如想让某个JAVA程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。  
  2.   
  3. 比如 nohup ./run.sh &就表示让当前目录下的JAVA程序在后台一直运行,与此同时,该命令会将控制台的日志输出到当前文件夹下的nohup.out文件中。  
  4.   
  5. 在一般情况下,程序员调试的时候需要查看控制台输出信息。但是在真正服务运行以后应该转而关注LOG的输出而不是CONSOLE的信息。  
  6.   
  7. 但是在某些服务器程序下CONSOLE信息输出过多就会导致nohup.out文件急剧增长。甚至威胁服务器可用磁盘空间。那么对于nohup.out的控制就有价值了。  
  8.   
  9. 值得关注的是:nohup.out文件在被使用的情况下删除是无效的。比如你的服务器程序一直在运行,这时去删除nohup.out文件,如果用查看硬盘剩余空间(df)的命令,可以发现并没有释放空间,但是查看已用空间(du)却会发现已用空间已经减少了,也就是说有一部分磁盘“消失”了;这种状况会一直持续到关闭服务器程序为止(应该是由于LINUX对于被占用的文件没有进行写锁并禁止删除造成的)。因此要删除nohup.out文件的最好方法是先关闭跟它相关的程序,然后再删除。  
  10.   
  11. 要把nohup.out对系统的影响降低,最简单的方法让nohup执行后不产生日志文件,可以在nohup命令行中增加输出目标文件,并指向/dev/null。也就是 nohup ./run.sh >/dev/null &,这样可以保证nohup.out文件不会自动生成;另外也可以编辑./run.sh文件,使该运行脚本简单化。比如nohup java com.xxx.xxx.Main >/dev/null &。  
  12. 在不关闭进程的情况下,想清楚nohup.out文件时,用cp /dev/null /opt/bomc/casuallyCha/bin/nohup.out方法即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值