码迷,mamicode.com
首页 > 系统相关 > 详细

找出狂写文件的进程

时间:2016-06-29 11:37:16      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:lsof   ps   while   

1: lsof可以找出哪个进程正在写哪个文件

lsof /tmp/

COMMAND   PID   USER   FD   TYPE DEVICE    SIZE    NODE NAME

bash     2425   root  cwd    DIR  202,3 1400832 2457601 /tmp/

bash     4556   root  cwd    DIR  202,3 1400832 2457601 /tmp/

lsof    19283   root  cwd    DIR  202,3 1400832 2457601 /tmp/

lsof    19288   root  cwd    DIR  202,3 1400832 2457601 /tmp/


2: ps auxfw可以找出pid对应进程的具体信息

ps auxfw|grep 2425

root      2425  0.2  0.0  66212  1792 pts/2    Ss   08:52   0:02  |   \_ -bash

root     21214  0.0  0.0  61192   748 pts/2    S+   09:10   0:00  |       \_ grep 2425


3: 结合1,2可以找出哪个进程在狂写文件

lsof /tmp/|grep -v ‘PID‘|awk ‘{print $2}‘| while read line;do 

ps auxfw|grep "$line"; 

done


4: 有时候进程写下文件就退出了,所以lsof一运行还无法找出,这时可以加个while运行一段时间就可以找出来了。

while true;do 

lsof /tmp/inputruntime20160629|grep -v ‘PID‘|awk ‘{print $2}‘| while read line;do 

ps auxfw|grep "$line"; 

done; 

sleep 1; 

done

本文出自 “鸿弟” 博客,请务必保留此出处http://zhuangweihong.blog.51cto.com/8808431/1793854

找出狂写文件的进程

标签:lsof   ps   while   

原文地址:http://zhuangweihong.blog.51cto.com/8808431/1793854

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!