亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

詳解Inotify 監控目錄與文件的操作方法

2020-02-24 14:26:22
字體:
來源:轉載
供稿:網友

我們在開發程序的時候會遇到很多問題,通常程序員都會加上監控目錄和目錄的子目錄這個功能,下面武林技術頻道小編就給大家介紹詳解Inotify 監控目錄與文件的操作方法,一起來看看吧!

1. 監控路徑并打印所有發生在該路徑的事件.
代碼如下:

?

?

?


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/inotify.h>
#include <unistd.h>
#define EVENT_NUM 12
char *event_str[EVENT_NUM] =
{
?"IN_ACCESS",
?"IN_MODIFY",
?"IN_ATTRIB",
?"IN_CLOSE_WRITE",
?"IN_CLOSE_NOWRITE",
?"IN_OPEN",
?"IN_MOVED_FROM",
?"IN_MOVED_TO",
?"IN_CREATE",
?"IN_DELETE",
?"IN_DELETE_SELF",
?"IN_MOVE_SELF"
};
int main(int argc, char *argv[])
{
?int fd;
?int wd;
?int len;
?int nread;
?char buf[BUFSIZ];
?struct inotify_event *event;
?int i;

?if(argc < 2)
?{
??fprintf(stderr, "%s path/n", argv[0]);
??return -1;
?}

?fd = inotify_init();
?if( fd < 0 )
?{
??fprintf(stderr, "inotify_init failed/n");
??return -1;
?}

?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 )
?{
??nread = 0;
??while( len > 0 )
??{
???event = (struct inotify_event *)&buf[nread];
???for(i=0; i<EVENT_NUM; i++)
???{
????if((event->mask >> i) & 1)
????{
?????if(event->len > 0)
??????fprintf(stdout, "%s --- %s/n", event->name, event_str[i]);
?????else
??????fprintf(stdout, "%s --- %s/n", " ", event_str[i]);
????}
???}
???nread = nread + sizeof(struct inotify_event) + event->len;
???len = len - sizeof(struct inotify_event) - event->len;
??}
?}

?return 0;
}


運行 inotify_watch 監控一個目錄:

?

?

?


$ ./inotify_watch test/
...
? --- IN_OPEN
? --- IN_CLOSE_NOWRITE
.tmp.swp --- IN_CREATE
.tmp.swp --- IN_OPEN
.tmp.swpx --- IN_CREATE
.tmp.swpx --- IN_OPEN
.tmp.swpx --- IN_CLOSE_WRITE
.tmp.swpx --- IN_DELETE
.tmp.swp --- IN_CLOSE_WRITE
.tmp.swp --- IN_DELETE
.tmp.swp --- IN_CREATE
.tmp.swp --- IN_OPEN
.tmp.swp --- IN_MODIFY
? --- IN_OPEN
? --- IN_CLOSE_NOWRITE
.tmp.swp --- IN_MODIFY
...


從上面的結果可以看到在 test 目錄中使用 vim 創建一個 tmp 文件, 產生很多的冗雜事件. 因此需要對監控的事件做出小范圍的選擇而不是 IN_ALL_EVENTS .
2. IN_MOVE_SELF 和 IN_DELETE_SELF 事件
由于個人水平, 曾經對這兩個事件的含義并沒有理解正確. 當監控 path 時( path可以是文件或目錄),

?

?

?


$ ./inotify_watch path


執行

?

?

?


$ rm -f path


則發生 IN_DELETE_SELF 事件;
執行

?

?

?


mv path path2


則發生 IN_MOVE_SELF 事件.
3. 監控目錄和文件
監控目錄中內容改變應監控的事件:

?

?

?

?

?


IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF | IN_MOVED_FROM | IN_MOVDED_TO


監控文件內容的改變應監控的事件:

?

?

?


IN_DELETE_SELF | IN_MODIFY | IN_MOVE_SELF

通過上面的介紹,想必大家已經知道了詳解Inotify 監控目錄與文件的操作方法,看完文章的朋友會對這方面的知識有更多了解,希望武林技術頻道小編的介紹對大家有幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩成人在线网站| 成人欧美一区二区三区黑人孕妇| 欧美高清理论片| 91亚洲精品久久久久久久久久久久| 亚洲第一精品久久忘忧草社区| 久久国产一区二区三区| 成人精品一区二区三区电影黑人| 91精品国产91久久久久久不卡| 欧美日韩精品在线观看| 91免费版网站入口| 日韩一级黄色av| 91精品国产综合久久香蕉最新版| 亚洲欧洲日产国码av系列天堂| 中文字幕欧美精品日韩中文字幕| 国产精品视频中文字幕91| 国产成人精品最新| 国产精品久久久久影院日本| 日本久久久久亚洲中字幕| 欧美人在线观看| 黄色成人在线免费| 国产精品久久久精品| 亚洲综合第一页| 欧洲亚洲在线视频| 亚洲成avwww人| 精品电影在线观看| 欧美在线视频免费播放| 日日狠狠久久偷偷四色综合免费| 91福利视频在线观看| 国产精品久久久久久久9999| 久久夜色精品国产亚洲aⅴ| 国产成人av在线播放| 亚洲人成电影在线| 亚洲人高潮女人毛茸茸| 日韩福利在线播放| 国产成人亚洲综合91| 在线播放日韩精品| 九九热最新视频//这里只有精品| 成人性教育视频在线观看| 538国产精品一区二区在线| 庆余年2免费日韩剧观看大牛| 亚洲精品日产aⅴ| 亚洲国产小视频| 国产欧美精品久久久| 国产精品夫妻激情| 精品国产鲁一鲁一区二区张丽| 欧美性猛交xxxx富婆弯腰| 日本成人免费在线| 亚洲成人动漫在线播放| 亚洲精品www| 亚洲视频专区在线| 亚洲精品在线不卡| 亚洲成人三级在线| 国产有码在线一区二区视频| 91精品成人久久| 欧美视频免费在线观看| 亚洲影院高清在线| 亚洲国产精品va| 亚洲精品色婷婷福利天堂| 免费不卡在线观看av| 77777少妇光屁股久久一区| 欧美日韩国产va另类| 久久九九有精品国产23| 亚洲国产精品热久久| 精品精品国产国产自在线| 粗暴蹂躏中文一区二区三区| 日韩电影大全免费观看2023年上| 韩国三级日本三级少妇99| 亚洲欧洲自拍偷拍| 欧美大片第1页| 欧美激情欧美狂野欧美精品| 亚洲另类欧美自拍| 成人欧美一区二区三区在线| 欧美日韩色婷婷| 国产91精品视频在线观看| 亚洲精品91美女久久久久久久| 亚洲最大av网站| 久久久久久com| 亚洲第一二三四五区| 国产成人精品999| 91在线视频精品| 亚洲一区二区三区四区在线播放| 欧美大片免费看| 亚洲精品欧美一区二区三区| 欧美日韩性视频在线| 精品国产欧美成人夜夜嗨| 97超碰色婷婷| 欧美丰满老妇厨房牲生活| 538国产精品一区二区免费视频| 日韩精品免费在线观看| www.欧美三级电影.com| 性色av一区二区三区免费| 这里精品视频免费| 九九久久精品一区| 欧美专区在线播放| 国产精品日韩欧美大师| 国产亚洲精品久久| 精品一区二区三区四区在线| 国产www精品| 欧美黄色性视频| 久久天天躁狠狠躁夜夜av| 成人网欧美在线视频| 久久天天躁夜夜躁狠狠躁2022| 欧美精品videosex牲欧美| www.美女亚洲精品| www.欧美三级电影.com| 国产999在线| www国产亚洲精品久久网站| 国产一区二区三区网站| 亚洲欧美日韩中文在线| 国产精品入口免费视| 欧美专区中文字幕| 日本三级久久久| 日韩精品免费电影| 日本午夜人人精品| 2019中文在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 成人黄色免费网站在线观看| 日韩视频亚洲视频| 国产成人精品电影久久久| 狠狠色狠狠色综合日日小说| 91精品国产91久久久久久| 国产精品老牛影院在线观看| 国产精品视频久久久久| 欧美成人精品在线播放| 欧美性猛交xxxx乱大交极品| 亚洲第一天堂无码专区| 粗暴蹂躏中文一区二区三区| 波霸ol色综合久久| 久久久精品在线观看| 国产精品自拍小视频| 成人午夜激情免费视频| 在线播放日韩专区| 91av在线播放| 日韩av免费在线播放| 午夜精品在线观看| 欧美亚洲视频在线观看| 成人激情视频免费在线| 久久久最新网址| 欧美在线观看视频| 国产精品一区二区三区免费视频| 亚洲图片欧美日产| 精品国产成人在线| 国产精品日本精品| 国产精品视频专区| 亚洲r级在线观看| 2019国产精品自在线拍国产不卡| 色综合天天狠天天透天天伊人| 国模精品视频一区二区| 韩国福利视频一区| 久久伊人免费视频| 亚洲风情亚aⅴ在线发布| 国产精品视频久久久| 日本最新高清不卡中文字幕| 国产精品久久电影观看| 久久伊人色综合| 欧美高清不卡在线| 欧美性少妇18aaaa视频| 在线观看视频亚洲| 这里精品视频免费| 欧美性在线视频| 国产精品入口尤物| 一区二区国产精品视频| 欧美大尺度激情区在线播放| 亚洲乱码国产乱码精品精天堂|