3

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

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

我想在这个符号链接发生变化时得到通知,但是如果我在符号链接上放置一个监视,它将开始监视符号链接指向的目录。

有任何想法吗?

4

3 回答 3

1

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

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

于 2011-05-14T20:50:59.260 回答
0

你在找这个吗?从手册页

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.
于 2011-05-14T18:31:54.813 回答
0

我不认为你可以。procfs 不是真正的文件系统,它仅在您读取时按需生成。

于 2011-05-14T18:40:20.943 回答