![](/img/trans.png)
[英]Linux: how to know which process (or program) is sending data to a local port?
[英]How to know which process is changing a file in linux
我正在使用自动化工具来构建虚拟机。 在此自动化过程中,配置文件(/etc/myprogram/cofig.ini)变为空。
该文件的内容是完成自动化所必需的,但是我不知道哪个进程正在清空该文件。
我要监视一个文件并列出更改文件内容的进程名称。
我正在使用Ubuntu 16.04。
我在Stackoverflow中看到了一些问题,但确实有所帮助。 我试图使用aaudictl inotify和watchdog。 请让我知道任何更好的方法。 有没有办法使用python做到这一点。
lsof
命令将显示哪些进程正在使用哪些文件:
lsof | grep <filename>
您可以使用lsof
。 该命令用于查找当前哪些进程已打开文件。 如果处理过程是打开文件,写入文件然后关闭文件,则可以使用审核。
/sbin/auditctl -w /etc/myprogram/cofig.ini -p war -k config.ini-file
-w watch etc/myprogram/cofig.ini
-p warx watch for write, attribute change, execute or read events
-k config.ini-file is a search key.
等到文件更改后再使用
/sbin/ausearch -f /etc/myprogram/cofig.ini | more
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.