linux清空动态文件内容,linux 动态清空 nohup 清空后,发现文件大小不变
linux 动态清空 nohup 清空后,发现文件大小不变
关注:282 答案:2 mip版
解决时间 2021-01-18 22:48
提问者〖舉燈向ηáη〗
2021-01-18 15:17
用> nohup.out 或者cat /dev/null > nohup.out等各种方式,清空nohup.out文件
执行后,文件大小不变,vi nohup.out 发现第一行的内容是:
用dd命令删除掉第一行的内容后,文件大小才减少到0,请问这是什么原因,是linux 主机是虚拟机的原因吗?
但是还是不知道为什么启动时候用">"重定向到nohup.out就不能动态清空,不知道原理是什么。
最佳答案
二级知识专家白衣衬衫净少年
2021-01-18 16:13
如果有权限cat /dev/null > nohup.out应该可以清成0,除非还有程序往这个文件里写内容。
另外多问一句,
执行cat /dev/null > nohup.out的用户,和执行vi nohup.out 是同一个吗?
全部回答
1楼嘴硬欠吻
2021-01-18 16:44
未释放磁盘空间原因:
在linux或者unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被
打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。而我删除的是oracle的告警log文件
删除的时候文件应该正在被使用
解决方法
首先获得一个已经被删除但是仍然被应用程序占用的文件列表,如下所示:
[root@ticketb ~]# lsof |grep deleted
oracle 12639 oracle 5w reg 253,0 648 215907 /home/oracle/admin/dbticb/udump/dbticb_ora_12637.trc (deleted)
oracle 12639 oracle 6w reg 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
oracle 12639 oracle 7u reg 253,0 0 36282 /home/oracle/oracle/product/10.2.0/db_1/dbs/lkinstdbticb (deleted)
oracle 12639 oracle 8w reg 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
oracle 12641 oracle 5w reg 253,0 648 215907 /home/oracle/admin/dbticb/udump/dbticb_ora_12637.trc (deleted)
oracle 12641 oracle 6w reg 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
。
。
。
oracle 23492 oracle 6w reg 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
oracle 23492 oracle 7u reg 253,0 0 36282 /home/oracle/oracle/product/10.2.0/db_1/dbs/lkinstdbticb (deleted)
oracle 23492 oracle 8w reg 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
oracle 23494 oracle 10u reg 253,0 0 36307 /home/oracle/oracle/product/10.2.0/db_1/dbs/lkinstrmandb (deleted)
从输出结果可以看到/home/oracle/admin/dbticb/bdump/alert_dbticb.log还被使用,未被释放空间
如何让进程释放呢?
一种方法是kill掉相应的进程,或者停掉使用这个文件的应用,让os自动回收磁盘空间
我这个环境有很多进程在使用的这个文件,停掉进程有点麻烦,再有就是风险很大
当linux打开一个文件的时候,linux内核会为每一个进程在/proc/ 『/proc/nnnn/fd/目录(nnnn为pid)』建立一个以其pid
为名的目录用来保存进程的相关信息,而其子目录fd保存的是该进程打开的所有文件的fd(fd:file descriptor)。
kill进程是通过截断proc文件系统中的文件可以强制要求系统回收分配给正在使用的的文件。
这是一项高级技术,仅到管理员确定不会对运行中的进程造成影响时使用。应用程序对这种方
式支持的并不好,当一个正在使用的文件被截断可能会引发不可预知的问题
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看
linux清空动态文件内容,linux 动态清空 nohup 清空后,发现文件大小不变相关推荐
- linux命令看文件内容,Linux文件内容查看相关命令
1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...
- linux替换大文件内容,Linux批量替换文件内容
今天测试人员一不小心把导航的地址改错了,大约6000多个导航文件,要通过后台配置的话也很麻烦,可以通过linux命令实现对批量文件进行内容替换,但是技术经理不在,我对linux命令不熟,没办法只好硬着 ...
- linux读整个文件内容,Linux查看整个文件
Linux查看整个文件 使用cat命令显示文本文件的内容 使用cat命令可以显示文本文件的内容.cat后面可以不加任何选项,直接跟文件名 功能说明:查看某个文件的内容 ###cat命令语法 cat [ ...
- linux 恢复修改文件内容,Linux备份及恢复及Linux文件权限详解
Linux备份及恢复及Linux文件权限详解 概述 一个系统管理员菜鸟不小心输入"chmod -R 777 /"从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏.在日常管理中,我 ...
- linux如何改文件内容,linux下用命令修改文件内容
linux下vi命令修改文件及保存的使用方法 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi n filename :打开文件,并将光标置于第n行首 vi fil ...
- linux sed写文件内容,Linux学习——文本处理:sed
事先说明,这是我在跟随老师学习过程中,从老师笔记中吸取的一点点经验,有很多都是老师笔记上的.我写这个博客,更多的是记录自己的学习过程,不喜勿碰. 一个超级有脑洞的流编辑器:sed ps:反正我个人认为 ...
- linux修改程序文件内容,linux 批量修改文件内容
如果有批量修改文件内容的需求,可参考下面这些方法 1.批量查找某个目下文件的包含的内容,例如: # grep -rn或l "要找查找的文本" 路径或文件 rn表示匹配查找字符 ...
- linux text html文件内容,linux – 为什么curl会给我html而不是文件?
我正在尝试(学习)使用curl下载文件http://cscope.sourceforge.net/cscope_maps.vim.我尝试过的命令是: curl -o cscope_maps.vim c ...
- Linux比较大文件内容,Linux系统最大文件打开数优化,解决Too many open files报错
这是一个Linux系统常见的故障,网络上也能轻易的找到解决办法,我也只是在工作中遇到了这个问题,所以在博客记录下,以备不时之需. 一.报错截图: 图为resin的报错日志,很明显提示了Too many ...
最新文章
- CopyOnWriteArrayList实现原理及源码分析
- flutter dio+rxdart
- (0080)iOS开发之上传本地项目到github
- android 相册 uri空,Android---相册getContentResolver().query结果为空指针
- 3D字体海报的这么玩?效果很赞,不得不学!
- vue router children 路由变了 组件没变_Vue.js从零开始——路由(2)
- 【printf函数与scanf函数】(学习笔记5--标准I/O函数)
- python如何请求curl_Python爬虫偷懒神器 —— 一键构造请求头!
- 高斯勒让德求积公式matlab通用程序,MATLAB软件及高斯勒让德求积公式.doc
- 自己整理的scratch说课讲义
- 高压电控产品电气设计入门与进阶(下)
- 希望OL修改服务器经验,希望OL服务端架设技术教程
- VS中让console程序不显示(隐藏)命令行窗口
- java.sql.SQLException: Subquery returns more than 1 row
- 【Linux】Linux的共享内存
- remote: Support for password authentication was removed on August 13, 2021
- 斗地主游戏Landlord
- DVWA---跨站请求伪造CSRF
- 最近在某外卖平台上点了一份米粉加了份青菜
- 关注国外学术团队的年度研究报告