如何监控进程工作目录的变化?

时间:2011-05-14 18:06:09

标签: linux inotify

我希望在Linux下监视具有给定PID的任意进程的当前工作目录。

我的想法是在procfs上使用inotify。每个进程在/ proc / PID下都有自己的目录,并且有一个指向实际工作目录的符号链接/ proc / PID / cwd

我希望在此符号链接更改时收到通知,但如果我在符号链接上放置一个监视,它将开始观察符号链接指向的目录。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

你正在寻找这个吗?来自man page

The following further bits can be specified in mask when calling
inotify_add_watch(2):

IN_DONT_FOLLOW (since Linux 2.6.15)
    Don't dereference pathname if it is a symbolic link.

答案 1 :(得分:0)

我认为你不能。 procfs不是真正的文件系统,只有在您阅读时才会按需生成。

答案 2 :(得分:0)

你也可以使用strace并观察它来进行chdir()系统调用 - 因为这些是改变当前工作目录的唯一方法。

这实际上是一种调试器风格的要求,您将需要使用调试接口来实现它。