请问 文件系统监控机制,为什么不可以用在、proc目录文件系统

XSY_VC 2004-08-17 09:25:55
#define _GNU_SOURCE
#include <fcntl.h>

#include <signal.h>
#include <stdio.h>
#include <unistd.h>

static volatile int event_fd;

static void handler(int sig, siginfo_t *si, void *data)
{
event_fd = si->si_fd;
printf("Linux Fans\n");
}

int main(void)
{
struct sigaction act;
int fd;

act.sa_sigaction = handler;
sigemptyset(&act.sa_mask);
act.sa_flags = SA_SIGINFO;
sigaction(SIGRTMIN, &act, NULL);

fd = open("/proc/scsi", O_RDONLY);
fcntl(fd, F_SETSIG, SIGRTMIN);
fcntl(fd, F_NOTIFY, DN_ACCESS|DN_MODIFY|DN_CREATE|DN_MULTISHOT);
/* we will now be notified if any of the files
in "." is modified or new files are created */
while (1) {
pause();
printf("Got event on fd=%d\n", event_fd);
}
}
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pacman2000 2004-08-17
  • 打赏
  • 举报
回复
proc文件系统只是个接口而已,访问的时候才会转换成调用并输出结果。不是真正写文件的。
gettext 2004-08-17
  • 打赏
  • 举报
回复
proc - process information pseudo-filesystem
proc下不是真正的文件。不能用F_NOTIFY。
XSY_VC 2004-08-17
  • 打赏
  • 举报
回复
我要实现的目标是插入usb设备时,在SCSI目录下要建立相应的usb设备的设备信息。
我想在建立这些目录和文件时,产生信号,并捕捉它。
XSY_VC 2004-08-17
  • 打赏
  • 举报
回复
不知道为什么不产生信号
XSY_VC 2004-08-17
  • 打赏
  • 举报
回复
但它实现了文件系统的监控机制哦

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧