首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux nohup.out文件过大解决方法

linux nohup.out文件过大解决方法

作者头像
似水的流年
发布于 2021-10-12 08:11:31
发布于 2021-10-12 08:11:31
6K00
代码可运行
举报
文章被收录于专栏:电光石火电光石火
运行总次数:0
代码可运行

Linux的三种重定向

  • 0: 表示标准输入
  • 1: 标准输出,在一般使用时默认的是标准输出
  • 2: 标准错误信息输出,可以用来指定需要重定向的标准输入或输出

在一般使用时,默认的是标准输出,即1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。 另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。 Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls 1>/dev/null 2>/dev/null

还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls >/dev/null 2>&1

注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,于是一切静悄悄:-)

由于使用nohup时,会自动将输出写入nohup.out文件中,如果文件很大的话,nohup.out就会不停的增大,这是我们不希望看到的,因此,可以利用/dev/null来解决这个问题。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nohup ./program >/dev/null 2>log &

如果错误信息也不想要的话:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nohup ./program >/dev/null 2>&1 &

文件过大解决办法: 1. 手动输入命令,保留nohup.out文件多少行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
例如保留10000行,可如下操作:
log=`tail -n 10000 nohup.out`;
echo "$log" > nohup.out

2. 写定时任务,定时清理nohup.out文件

3. 关闭当前的服务,rm -rf 直接删掉,启动服务。注意:如果直接使用rm -rf nohup.out删除,目录中没有这个文件了,但是磁盘空间还是没有减少。这是因为我们的项目正在使用中,就像我们熟悉的Windos系统打开一个文件你是无法删除的。

4. 清空文件内容。这个不需要关闭服务,但是如果项目多,nohup.out 文件多 ,不好定位。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
第一种:echo '' > nohup.out
第二种:cp /dev/null nohup.out
第三种:cat /dev/null > nohup.out

5. nohup java -jar test.jar > /var/log/nohup.log &   全部指定到一个文件!

6. 每个项目都是有log的,启动日志就不需要看,直接指定到黑洞目录,在本地也不会保留。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nohup java -jar test.jar > /dev/null 2>&1 &
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux命令之nohup
语法:nohup Command [ Arg ... ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
AsiaYe
2019/11/06
2.4K0
nohup基本使用
兮动人
2024/02/07
5750
linux的nohup命令
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。
全栈程序员站长
2022/11/15
1.9K0
Linux之nohup命令
原文链接:https://rumenz.com/rumenbiji/linux-nohup.html
入门笔记
2021/08/25
2K0
liunx服务器nohup不输出日志文件的方法
我们一般的会使用 nohup & 让程序在后台挂起,一般程序挂起后,会在程序目录输出 nohup.out的日志文件,随着时间的推移,此文件会越来越大,最后可能会占很大的一块硬盘空间,
PHP学习网
2022/08/03
2.1K0
Linux nohup和&的使用说明,"2>1&"含义解释
Linux中nohup和&配合使用说明,以及使用时2>1& 的解释,还有Linux进程查询等命令
俺也想起舞
2019/07/24
13.4K0
Linux重定向
在 Linux 中,重定向是一种将命令的输出或输入重定向到文件或其他命令的机制。它可以用于管理标准输入、标准输出、标准错误等。重定向通常与命令行中的 >、<、>>、2> 等符号一起使用。下面是关于 Linux 重定向的详细说明。
ljw695
2024/10/18
6470
Linux进阶命令-重定向
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
3080
Linux进阶命令-重定向
Linux中&&、&、|、||等特殊符号的作用
2>&1 表示把标准错误的输出重定向到标准输出1,&指示不要把1当做普通文件,而是fd=1即标准输出处理。
用户10125653
2022/11/10
2.3K0
全网最全Linux 运行jar包的几种方式[通俗易懂]
最常用的启动jar包命令,特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
全栈程序员站长
2022/11/10
6.2K0
全网最全Linux 运行jar包的几种方式[通俗易懂]
Spring Boot Maven 打包可执行Jar文件!
Maven pom.xml 必须包含 [plain] view plain copy <packaging>jar</packaging>   [html] view plain copy <build>   <plugins>   <plugin>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-maven-plugin</artifactId>   <configuration>   <fo
庞小明
2018/07/06
1.1K0
详解nohup和& 区别 原
不挂断地运行命令。no hangup的缩写,意即“不挂断”。一般理解&记住一个命令最简单的方法是记住它是什么缩写,就自然理解了这个命令。 nohup运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号;
拓荒者
2019/03/11
2.4K0
部署jar项目服务命令
查看 ps aux | grep 服务关键字 关闭进程,否则启动的时候报错:java.net.BindException: Address already in use kill -9 12148 重启服务 nohup java -jar 微服务.jar &
oktokeep
2024/10/09
1730
关于 Linux后台运行进程
最近在搭建kafka的过程中,发现启动相关服务后,终端界面无法再进行操作。每次都需要开启多个终端界面,实在是特别麻烦。于是就研究了下Linux后台启动程序的方法,并整理了如下的笔记。
用户8710643
2021/06/11
2.6K0
linux 后台运行进程:& , nohup
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。
DevOps在路上
2023/05/16
5.5K0
linux 后台运行进程:& , nohup
Linux命令5-输入输出重定向
计算机的硬件设备有很多种,常见的输入设备有键盘、鼠标、手写板等,输出设备有显示器、投影仪、打印机等。不过,在 Linux 中,标准输入设备指的是键盘,标准输出设备指的是显示器(屏幕)。
皮大大
2021/03/01
3.6K0
Linux命令5-输入输出重定向
Linux:Nohup命令详解
在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
新码农
2020/12/21
14.8K0
Linux:Nohup命令详解
Springboot项目使用java -jar 启动jar包参数详解
nohup java -Xms500m -Xmx500m -Xmn250m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError -jar $JAR_PATH/test-0.0.1-SNAPSHOT.jar --spring.profiles.active=daily -verbose:class &
IT工作者
2022/05/17
6K0
nohup command > out.file 2>&1 & 命令详解
hup是hang up的缩写,是挂断、挂起的意思,而顾名思义,nohup就是不挂断、不挂起的意思。在 Unix 的早期版本中,每个终端都会通过modem和系统通讯。当用户 logout 时,modem就会挂断(hang up)。并且,当modem和系统断开连接时,就会给系统发送hangup信号来通知其关闭该终端打开的所有进程。 而nohup命令的用途就是让该终端提交的命令忽略该hangup信号,从而能够在系统中继续执行。
saintyyu
2021/11/22
4.5K0
nohup 详解
nohup 详解
Java架构师必看
2021/09/08
4580
相关推荐
Linux命令之nohup
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验