Linux下查看哪个进程对某文件进行了操作

由于工作需要,近日开发了一个server agent,其中有个功能是对/path/to/file文件进行写入

在程序部署完成后,/path/to/file文件中内容刚开始是符合预期的

但是过了不到一分钟,发现/path/to/file已与预期不符,走查代码后确认无误,怀疑是有其他后台进程对此文件进行了修改,所以要查到这个元凶巨恶

起初,尝试使用lsof命令,具体说来,清空/path/to/file文件内容,然后写一个无限循环调用lsof /path/to/file,运行后发现无任何效果,但/path/to/file依然被修改了!

这仿佛说明,某进程瞬间完成了对/path/to/file的打开、写、关闭操作,lsof命令作罢

后来求助于stack overflow发现了解决方法,就是auditctl

1、先启动auditctl后台监控服务:service auditd start

2、设置监控规则:auditctl -w /path/to/file -p w -k hosts-file 监控写操作

3、过一段时间,ausearch -w /path/to/file 即可看到哪个进程使对文件/path/to/file用了哪个操作

时间: 2024-12-23 04:19:16

Linux下查看哪个进程对某文件进行了操作的相关文章

linux 下查看一个进程运行路径

在linux下查看进程大家都会想到用 ps -ef|grep XXX 可是看到的不是全路径,怎么看全路径呢? 每个进程启动之后在 /proc下面有一个于pid对应的路径 例如:ps -ef|grep python 显示:oracle    4431  4366  0 18:56 pts/2    00:00:00 python Server.py 4431就是进程号 到/proc/4431下,ls -l 会看到(需要root权限): 总用量 0 -r--r--r--    1 oracle  

linux 下查看一个进程执行路径

在linux下查看进程大家都会想到用 ps -ef|grep XXX 但是看到的不是全路径.怎么看全路径呢? 每一个进程启动之后在 /proc以下有一个于pid相应的路径 比如:ps -ef|grep python 显示:oracle ? ?4431 ?4366 ?0 18:56 pts/2 ? ?00:00:00 python Server.py 4431就是进程号 到/proc/4431下.ls -l 会看到(须要root权限): 总用量 0 -r--r--r-- ? ?1 oracle ?

linux下查看一个进程的启动时间和运行时间

使·用 ps命令 :#ps -A -opid,stime,etime,args ps -A -opid,stime,etime,args 结果: root:src# ps -A -opid,stime,etime,args   PID STIME     ELAPSED COMMAND     1 09:21    08:56:14 init [3]                                        2 09:21    08:56:14 [migration/0]

Linux下查看单个进程占用的端口数量

一 应用场景描述 在有些时候我们去确定哪个服务占用了哪些端口,比如一些java程序占用了多个端口的情况,这时候就需要根据Java进程的进程ID来定位端口占用情况 二 解决方法 找到PID ps -ef|grep task|grep java|awk '{print $2}' 过滤PID netstat -tulpn|grep java|grep 21869

【Linux/Ubuntu学习 14】Linux下查看文件和文件夹大小

当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力.    du可以查看文件及文件夹的大小. 两者配合使用,非常有效.比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结. 下面分别简要介绍 df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子: 以下是代码片段: [[email protected] ~]$ df -hFilesystem

Linux下查看某一进程所占用内存的方法

Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如 ps -ef | grep kafka 可以看到kafka这个程序的进程id 可以看到是2913,现在可以使用如下命令查看内存: top -p 2913 这样可以动态实时的看到CPU和内存的占用率,然后按q键回到命令行 也可直接使用ps命令查看: ps -aux | grep kafka 第一个标注的地方是CPU和内存占用率,后面的943100是物理内存使用量,单位是k,此时kafka大约占用943M内存 还可以查看

Linux下查看文件和文件夹大小 删除日志

场景:在sts中执行自动部署时候maven提示No space left on device错误,后来经检查发现是磁盘空间满了,用下面的方法分析发现tomcat下面的logs目录占用了很大的空间,删除多余的日志问题解决! 1 Linux下查看文件和文件夹大小 当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力.  du可以查看文件及文件夹的大小. 两者配合使用,非常有效.比如用df查看哪个一

linux 下查看文件的完整时间信息及三种时间属性

一.linux下查看文件的完整时间信息 1.Linux 下查看文件时,ls –l 缺省是不显示秒的: # ls -l /etc/ total 0 -rw-r--r--.  1 root   root         16 Jan  5 09:43 adjtime -rw-r--r--.  1 root   root       1518 Jun  7  2013 aliases 2.要显示秒(实际更精确),可以用 –full-time 参数: # ls -l /etc/ --full-time

Linux下查看端口,强制kill进程

1.查看8088端口被哪个进程占用:netstat -apn | grep 8088 2.强制kill某一进程:kill -s 9 1827 Linux下查看端口,强制kill进程