/dev :此目录保存了接口设备文件,如/dev/hdal、/dev/cdrom等。 /etc:系统主要的配置文件几乎都放置到这个目录内,如:人员的账号密码文件、各种服务的起始文件等。 /home:存放所有普通系统用户的默认工作文件夹(称为:宿主目录、家目录),如用户账号“ teacher”对应的宿主目录位于“/home/teacher”。如果服务器需要...
[root@Centos1 ~]# mkdir a/b/c #当前没有a/b/c目录, 所以创建不成功 mkdir: cannot create directory `a/b/c': No such file or directory #提示没找到a/b/c 目录 [root@Centos1 ~]# mkdir -p a/b/c #可以结合-p选项递归创建a/b/c目录 [root@Centos1 ~]# mkdir -p a/B/C [root@Ce...
如果需要监控子目录,需要在调用inotify_add_watch(int fd, char *dir, int mask):int建立监控时,递归建立子目录的监控,伪代码如下 void addwatch(int fd, char *dir, int mask) { wd =inotify_add_watch(fd, dir, mask); 向目录集合加入(wd, dir); for (dir下所有的子目录subdir) addwatch(fd, sub...
inotify 监控机制为非递归,若想监控整个目录子树内的事件,则需对该树中的每个目录发起 inotify_add_watch() 调用 使用inotify:创建一个文件描述符,附加一个或多个监视器(一个监视器 是一个路径和一组事件),然后使用 read() 方法从描述符获取事件信息。read() 并不会用光整个周期,它在事件发生之前是被阻塞的。
观察列表中的每个观察项指定文件或目录的pathname,以及内核针对pathname引用的文件监视的一组事件。inotify_add_watch()创建新的监测项或修改现有监测。 每个监测都具有唯一的监测描述符,这是在创建监测项时调用inotify_add_watch()所返回的整数。 PARAMETER
wd = inotify_add_watch(fd, argv[1], IN_ALL_EVENTS); if(wd < 0) { fprintf(stderr, "inotify_add_watch %s failed\n", argv[1]); return -1; } buf[sizeof(buf) - 1] = 0; while( (len = read(fd, buf, sizeof(buf) - 1)) > 0 ) ...
inotify_add_watch 增加对文件或者目录的监控,并指定需要监控哪些事件。标志用于控制是否将事件添加到已有的监控中,是否只有路径代表一个目录才进行监控,是否要追踪符号链接,是否进行一次性监控,当***事件出现后就停止监控。 inotify_rm_watch 从监控列表中移出监控项目。
inotify_add_watch(int fd, const char *pathname, uint32_t mask) - 加入文件或目录到inotify进行监测 inotify_rm_watch(int fd, int wd) - 移除一个watcher 2. 相关结构 struct inotify_event { int wd; /* Watch descriptor */ uint32_t mask; /* Mask of events */ ...
int inotify_add_watch(int fd,const char *pathname,uint32_t mask) 由名字可知,增加一个监听,将要监听的文件或者目录添加到inotify中,其中fd是inotify初始化时候返回的文件描述符,pathname是要监听的文件的路径,mask是要监听的事件(事件有多种,比如创建,删除等),其返回值是一个inotify标识,用于判断返回的事件是...
inotify_add_watch 增加对文件或目录的监控并指定需要监控哪些事件。 标志用于控制是否将事件加入到已有的监控当中,是否只有路径代表一个目录才进行监控, 是否需要追踪符号链接,是否进行一次性监控,当首次出现事件后就停止监控。 inotify_rm_watch 从监控列表中移除监控项目。