如何检测在Linux中的符号链接目录中何时修改一个文件

时间:2015-07-02 00:19:34

标签: c linux

我有一个指向这个目录的符号链接

root@beaglebone:/sys/class/drm#    
lrwxrwxrwx 1 root root 0 Sat Jan 1 00:00:01 2000 card0-HDMI-A-1 -> /sys/devices/ocp.3/4830e000.lcdc/drm/card0/card0-HDMI-A-1

如何在真实路径(/sys/devices/ocp.3/4830e000.lcdc/drm/card0/card0-HDMI-A-1)内修改一个文件时检测/观察符号链接(/ sys / class / drm / card0-HDMI-A-1)指向。

(我更喜欢C程序)。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您要查找的命令是statstat检索有关文件的数据(在* nix中,目录是一种文件)。在符号链接上使用时,stat将返回链接指向的数据,而不是链接本身。 stat填充struct stat,其st_mtime成员是上次修改的时间,对于目录,将在其内容更改时更新。

struct stat file_info;

if ( stat ( "/sys/class/drm/card0-HDMI-A-1", &file_info ) == 0 ) {
  /* stat succeeded, file_info.st_mtime is the real directory's mod time */
} else {
  /* stat failed for some reason. consult the man page for info about error codes */
}