请让我知道命令或找到哪个进程正在删除linux中的目录的方法。我已经用inotify检查了它是否已删除该目录。但我想知道哪个进程正在删除linux中的目录。
答案 0 :(得分:3)
没有命令或方法知道哪个进程删除了linux中的目录。
作为一个类比,它就像要求描绘这个人的名字,身份和图片一样:
他很久以前就去世了,今天你无从知晓这些信息。
同样的事情适用于您的目录以及对此负责的流程。它已被删除,除非明确告诉你它执行它的过程(比如在日志中写入它,或使用strace
监视它),否则你无法知道它做到了。< / p>
答案 1 :(得分:1)
linux中有一个名为 inotify 的功能。这可以监视文件或目录的更改。每一个。
man inotify
有一个名为incron
的守护进程,它可以调用你的任何脚本,为他提供执行你正在观看的动作的进程参数。
在您的情况下,您需要在目录的父目录中创建用于目录删除操作的监视消失。第一次它将不是真正的微不足道(它的配置有点像cron一样),但最终你得到你想要的。
Incron可以在环境变量中为其调用的脚本提供所需的数据!您唯一需要做的就是将整个环境变量列表转储到临时文件中。