修改后,我正在尝试使用inotify_add-watch()获取文件的通知 (inotify_add_watch(fd,filename.c_str(),IN_MODIFY);) 在linux文件系统(Linux内核4.9.0)上。
但是在收到通知后,read()应该调用两次,直到我收到关于文件/ etc / temp下一次修改的通知。有人可以澄清为什么我需要两次调用read()吗?谢谢。
{
"name": "devconnector",
"version": "1.0.0",
"description": "Social network for developers",
"main": "server.js",
"scripts": {
"client-install": "npm install --prefix client",
"start": "node server.js",
"server": "nodemon server.js",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\"",
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --
prefix client && npm run build --prefix client"
},
"author": "Brad Traversy",
"license": "MIT",
"dependencies": {
"bcryptjs": "^2.4.3",
"body-parser": "^1.18.2",
"concurrently": "^3.5.1",
"express": "^4.16.3",
"gravatar": "^1.6.0",
"jsonwebtoken": "^8.2.0",
"mongoose": "^5.0.12",
"netlify-cli": "^1.2.3",
"passport": "^0.4.0",
"passport-jwt": "^4.0.0",
"validator": "^9.4.1"
},
"devDependencies": {
"nodemon": "^1.17.3"
}
}
}
答案 0 :(得分:1)
您必须先消耗所有待处理的事件,然后它才能再次开始阻止。
例如如果执行echo foo > /etc/test
,您可能会遇到两个事件:一个事件被截断,另一个事件被写入。
如果您不同时使用两者,则下一个将立即返回。