nohup 同时实现记录日志和屏幕输出

Posted 苏轶然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nohup 同时实现记录日志和屏幕输出相关的知识,希望对你有一定的参考价值。

nohup
 
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂断的意思( no hang up)。
该命令的一般形式为:nohup command &
使用nohup命令提交作业
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > myout.file 2>&1 &
在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。

 

tail

tail -f      等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

tail -F     等同于--follow=name  --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

tailf        等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电

 

 

然后使用:

nohup command > myout.file 2>&1 &

 tailf myout.file

 

曲线救国,达到了既记录日志又打屏的目的。

以上是关于nohup 同时实现记录日志和屏幕输出的主要内容,如果未能解决你的问题,请参考以下文章

linux运行交互式脚本输出结果实时屏幕输出的同时重定向到文件,并屏幕和文件中都有时间戳?

如何使用 Popen 同时写入标准输出和日志文件?

13 node 程序后台执行加上 tail 命令, 中断 tail 命令, 同时也中断了 node 程序

logging模块

python 信息同时输出到控制台与文件

Python-subprocess执行命令并将输出劫持实现实时记录到日志