nohup 配置不输出日志信息的方法及linux重定向学习

起因

最近使用nohup创建了一个后台进程,默认日志输出到了nohup.out文件中,程序跑起来也就没再管, 过了大约一周,发现硬盘空间不够了,于是查找原因,发现这个nohup.out文件已经到了70G了,导致硬 盘空间不足了。

解决方案

只输出错误信息到日志文件

nohup ./program >/dev/null 2>log &

什么信息也不要

nohup ./program >/dev/null 2>&1 &

知识补充,关于Linux的重定向

Linux的3中重定向

0:表示标准输入

1:标准输出,在一般使用时,默认的是标准输出

2:标准错误信息输出

可以用来指定需要重定向的标准输入或输出。例如,将某个程序的错误信息输出到log文件 中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。另外,也可 以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。

关于/dev/null文件

Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影 无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

时间: 2024-08-25 20:29:33

nohup 配置不输出日志信息的方法及linux重定向学习的相关文章

如何正确地在SOE中输出日志信息

ArcGIS for Server提供完善的日志管理机制,用于日志的记录.查询和自动清除.开发人员在开发编写SOE代码时,应该采用该机制进行日志记录的输出.如果不采用该机制,输出的日志消息会写到ArcGIS Server内置的标准输出文件(C:\Program Files\ArcGIS\Server\framework\etc\service\logs)中,该位置文件是没有自动清除机制的,运行一段时间后,有可能导致该文件太大而导致服务性能下降. 具体指引如下: 1.在SOE的工程中创建Serve

HardFault_Handler 输出日志信息

之前文章说了原理,这里把最终实现的代码总结: IAR 1 void hard_fault_handler_c (unsigned int * hardfault_args) 2 { 3 unsigned int stacked_r0; 4 unsigned int stacked_r1; 5 unsigned int stacked_r2; 6 unsigned int stacked_r3; 7 unsigned int stacked_r12; 8 unsigned int stacked_

查看与输出日志信息

查看与输出日志信息: 1.优先级级别从高到低: Error > Warning > Info > Debug > Verbose 2.日志输出的3种方式: (1)       Log.i (2)       System.out.println (3)       System.err.println 3.实践: 1 package com.example.test; 2 3 import android.test.AndroidTestCase; 4 import android

Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法

Log4J日志配置详解 一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders(输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN <

配置log4j日志信息

一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR <

log4j(四)——如何控制不同风格的日志信息的输出?

一.测试环境 与log4j(一)--为什么要使用log4j?一样,这里不再重述 二.老规矩,先来个例子,然后再聊聊感受 package com.sc.log4j; import org.apache.log4j.Appender; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Layout; import org.apache.

【记录】SpringBoot 2.X整合Log4j没有输出INFO、DEBUG等日志信息解决方案

由于批量更新的时候一直无法定位问题出处,就去服务器定位日志,奈何日志一直无法输出,为了能够更好的定位问题,痛定思痛后逐步排查最终解决问题.如有客官看到此处,请不要盲目对号入座,我的项目环境或许与你有区别所以解决方案不一定适合,此贴只作为工作记录,并对出现相同问题,且项目环境相同的朋友作为借鉴而已,如没有帮到,也请嘴下留情. 首先贴出日志文件:log4j2.yml # 共有8个级别,按照从低到高为:ALL < TRACE < DEBUG < INFO < WARN < ERRO

输出日志实例改成用Spring的AOP来实现

1.采用Interception Around通知的形式实现 Interception Around通知会在Join Point的前后执行,实现Interception Around通知的类需要实现接口MethodInterceptor.其实现思路是: 1)首先实现接口MethodInterceptor,在Invoke()方法里编写负责输出日志信息的代码,具体业务逻辑还使用前面的接口TimeBookInterface和它的实现类TimeBook 2)然后在Spring的配置文档中定义PointC

ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通过对这些数据进行集中分析,可以产生极大的价值. 在微服务的系统架构中,由于一个系统会被拆成很多个功能模块,每个模块负责不同的功能,对于日志系统的要求也会更高,比较常见的有 EFLK(ElasticSearch + Filebeat + LogStash + Kibana) 方案,而对于我们这种单体应