转:Linux实时将所有输出重定向到文件
2024-10-17 05:44:46
转自:
Linux的重定向机制十分好用,我们经常需要在服务器上挂起一个服务程序,然后将该程序的所有输出重定向到某个文件,这样即使我们注销了用户,程序依然在linux服务器上运行着。
但是重定向的输出经常无法实时刷新到指定文件中,当我们调试程序时,这将给我们带来巨大的困扰。其实只需要关闭重定向输出的缓冲,即可实现实时刷新的效果。
命令如下:
unbuffer nohup command > file.out 2>&1 &
上面的unbuffer命令需要额外安装expect-devel,用来实时刷新。
nohup命令用来忽略所有挂断(SIGHUP)信号,让你的程序即使在用户注销后依然继续运行。
command是任何一段你想要执行的shell命令。
> file.out 代表将command运行结果重定向到当前目录下的file.out文件中(如果要每次运行的结果追加到file.out后面,可以用>>而不是>)。
2 >&1表示将标准错误输出cerr的所有输出也都重定向到标准输出cout中,这样file.out中就会记录command命令运行过程中所有标准输出。
最后一个&表示后台运行该command。
最新文章
- java深入技术九 (注解)
- myeclipse给项目改了名字,但部署tomcat的项目名还是原来的
- 求System.arraycopy的用法
- scala学习笔记:理解并行集合par
- 201521123066 《Java程序设计》第十二周实验总结
- Laplace(拉普拉斯)先验与L1正则化
- ADB——keyevent命令
- LeetCode 92. Reverse Linked List II倒置链表2 C++
- jsp/servlet学习二之servlet详解
- ClickHouse之简单性能测试
- spring与quartz定时器
- 爬虫系列4:scrapy技术进阶之多页面爬取
- 我把阿里云centos gcc从4.4.7升级到4.8.2的经历
- unity TileMap 简述
- bzoj4241: 历史研究(回滚莫队)
- POJ 1463 Strategic game(二分图最大匹配)
- 自己开发前端调试工具:Gungnir
- css3弹性盒子
- QE名词解释以及相关文章链接
- ThreadPool学习草稿1