linux 清空nohup日志命令,Linux命令之 nohup 和 后台执行命令使用说明
摘要:nohup 是 no hungup 的缩写,意思是“不挂断”。我们在使用Xshell等工具,远程执行Linux脚本时,有时候会由于网络问题,导致失去连接,终端断开,程序运行一半就意外结束了。这种时候,就可以用``nohup` 指令来运行指令,使程序可以忽略挂起信号继续运行...
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。
nohup 命令说明
nohup 是 no hungup 的缩写,意思是“不挂断”。
我们在使用Xshell等工具,远程执行Linux脚本时,有时候会由于网络问题,导致失去连接,终端断开,程序运行一半就意外结束了。这种时候,就可以用``nohup` 指令来运行指令,使程序可以忽略挂起信号继续运行。
语法格式:
nohup Command [ Arg ... ] [ & ]
nohup 命令运行由Command 参数 和 Arg参数 指定的命令,忽略所有挂断(SIGHUP)信号。
如果想要在运行后台中的 nohup 命令,则要添加 & ( 表示 “and” 的符号)到命令的尾部。
如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
1、只使用 nohup
语法格式:
nohup Command
关闭 标准输入(控制台无法输入),标准输出 和 错误信息保存到nohup.out 文件里面,关闭客户端后命令仍然会运行。
例如:
将 nohup sh test.sh 任务放到后台,关闭标准输入,终端不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的 nohup.out 文件,即使关闭xshell退出当前session依然继续运行。
2、只使用 &
语法格式:
sh Command &
不会关闭标准输入(控制台可以输入),但会丢失 标准输出 和 错误信息,关闭客户端后命令会就马上停止。
例如:
将 sh test.sh & 任务放到后台 ,关闭 xshell,对应的任务也跟着停止。
3、 nohup 和 & 配合使用(推荐使用)
语法格式:
nohup Command [ Arg ... ] &
示例:
nohup sh test.sh &
不会关闭标准输入(控制台可以输入),也不会丢失标准输出和错误信息,并将输出信息保存到 nohup.out 中,关闭客户端后命令仍然会运行。
例子1:
nohup sh test.sh & 命令在后台执行,可以使用标准输入,终端能够接收任何输入,标准输出 和 错误信息 默认保存到当前目录下的 nohup.out 文件,即使关闭xshell退出当前session依然继续运行。
例子2:
nohup ./startWeblogic.sh & 意思是即使退出ssh界面,命令仍然在后台执行,并且打印日志到 nohup.out 文件中,当然也可以将 nohup.out 的输出转向到其他文件,需要使用 重定向 。
4、 nohup、 & 、 重定向(推荐使用)
使用 nohup sh test.sh & 命令时,默认是将信息输出到 nohup.out 文件中。 但是在实际工作中,我们想把日志信息输出到某个具体文件中,可以下面的命令。
语法格式:
nohup command >logfile 2>&1 &
上面命令可以拆分成三部分 nohup command & 、 >logfile 和 2>&1 。
nohup command & :这个命令上面已经介绍过了,就是后台运行命令;
>logfile:将 command 运行的日志 重定向 写入到 logfile 文件中,即输出内容 不打印到屏幕上,而是输出到 logfile 文件中。
2>&1 是将 错误信息(2) 重定向到标准输出(&1)。而 标准输出 默认是写入到 file 文件中,所以 错误信息(2)、 标准输出 都 写入到 file 文件中。
例子:
nohup starMailWeb.sh > mail.log 2>&1 &
后台运行 starMailWeb.sh ,并且将 标准输出(1)、标准错误(2) 等日志 写入到 mail.log 文件中。2>&1 相关的参数说明:
2>&1 相关的参数说明:
/dev/null 表示空设备文件,
0 表示 stdin (standard input) 标准输入,
1 表示 stdout (standard output) 标准输出,
2 表示 stderr (standard error) 标准错误信息;
> file 表示将 标准输出(1) 输出到 file文件,也就相当于 1>file ;
2>error 表示将 错误信息(2) 重定向到 error文件中 ;
2>&1 也就表示将 错误信息(2) 重定向 到 标准输出(1) ;
2>&1 >logfile :错误信息(2) 重定向 到 标准输出(1) ,标准输出(1) 重定向 到 文件file ,等于 1>logfile 2>&1 ,即 标准输出(1) 重定向 到 logfile 文件中,错误信息(2) 重定向 到 标准输出(1) 。
& 放在命令到结尾,表示后台运行,防止终端一直被某个进程占用,这样终端可以执行别到任务,配合 >file 2>&1 可以将 log信息保存到某个文件中,但如果终端关闭,则进程也停止运行。如 command > file.log 2>&1 & 。 ( 参考 2、只使用 &)
5、知识扩展
5.1、清空 nohup.out
如果命令一直运行下去,nohup.out会一直自己增长下去,如果你的服务器硬盘不给力的话,很容易把应用也挂掉(硬盘没空间 ,啥都玩不转),但是又不能一味的直接删。因为直接删除,可能会造成应用无法打印后续的错误日志,该问题常见于weblogic服务器,jboss服务器等这些大型中间件,这个在生产环境上要尤为注意。
因此就有了我们不停止服务直接,清空nohup.out文件的方法。
下面是两个种不用停止WEB服务就可以清空nohup.out的命令。
第一种:cp /dev/null nohup.out
第二种:cat /dev/null > nohup.out
5.2、解决 nohup.out 文件过大
nohup 的重定向,一劳永逸解决 nohup.out 文件过大的问题
以下是定义日志打印级别,除了高于级别2的告警信息记录到log文件外,其余直接不记录
//只输出错误信息到日志文件
nohup ./program >/dev/null 2>log &
//什么信息也不要
nohup ./program >/dev/null 2>&1 &
---------------------------------- THE END ----------------------------------
linux 清空nohup日志命令,Linux命令之 nohup 和 后台执行命令使用说明相关推荐
- Linux后台执行命令
2019独角兽企业重金招聘Python工程师标准>>> Linux 后台执行命令 ###摘要:### 当你在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更 ...
- inux 后台执行命令
为什么80%的码农都做不了架构师?>>> 1.cron 系统调度进程.是SHELL一个LUNX下的定时执行工具,在无需人工干预下进行作业. $/sbin/service cro ...
- UNIX学习笔记(七) 后台执行命令3 命令
当在前台运行某个作业时,终端被该作业占据:而在后台运行作业时,它不会占据终端. 可以使用&命令把作业放到后台执行.该命令的一般形式为: 命令 & 为什么要在后台执行命令?因为当在后台执 ...
- cmd.exe 的命令行启动参数(可用于执行命令、传参或进行环境配置)
有一些程序不支持被直接启动,而要求通过命令行启动.这个时候,你就需要使用 cmd.exe 来启动这样的程序.我们都知道如何在 cmd.exe 中启动一个程序,但是当你需要自动启动这个程序的时候,你就需 ...
- 【LInux】后台执行命令 nohup 以及强制结束进程命令 kill
通过终端远程操作服务器时,难免要使特定进程处于持续运行状态,例如深度学习训练网络参数,但又不可能长时间不间断操作终端,我们希望将进程保持后台持续运行,这里提供两个思路:(1)docker 内运行,退出 ...
- linux后台执行命令:amp;与nohup的用法
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 大家可能有这样的体验:某个程序运行的时候,会产生大量的log,但实际上我们只想让它跑一下而已, ...
- linux开关机日志文件,Linux开关机命令(shutdown,reboot,halt,init)
命令简介 shutdown,poweroff,reboot,halt,init都可以进行关机,大致用法. /sbin/halt [-n] [-w] [-d] [-f] [-i] [-p] [-h] / ...
- linux后台执行命令:和nohup
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨).为 ...
- linux清空动态文件内容,linux 动态清空 nohup 清空后,发现文件大小不变
linux 动态清空 nohup 清空后,发现文件大小不变 关注:282 答案:2 mip版 解决时间 2021-01-18 22:48 提问者[舉燈向ηáη] 2021-01-18 15:17 ...
最新文章
- Apache 编译安装
- 微服务架构·基础篇,傻瓜看了都会
- springboot整合mongodb增删改查入门
- 基础的shell编程问题(一)
- 早买早享受 晚买有折扣 !特斯拉大降价致消费者拉横幅抗议
- Java新手学习路线
- 如何使用Mac DVDRipper Pro在mac上备份包括菜单和附加功能在内的完整的DVD
- Wine 开发版 4.6 发布,Windows 应用的兼容层
- ArrayList Vector
- 微信小程序:全新独立后台月老办事处一元交友盲盒
- hash算法_Win10_64 默认应用的UserChoice Hash算法学习
- 微信小程序实验一 ——— 简单计算器与秒表
- 国内著名声学期刊简介
- 灰度图像和彩色图像的直方图均衡化(python实现)
- 为什么计算机屏幕出现黄色,电脑为什么会出现显示器屏幕发黄
- 记一次mac 黑屏,无法点亮,不稳定,待机后无法唤醒等故障维修。(驱动)
- Lumerical Mode 的电场分布数据导出到 Matlab 进行处理
- 微信公众平台支付接口调试工具
- 【Spring全家桶系列】Spring中bean标签的配置与使用
- intel realsense 使用代碼