나는 리눅스에서 일하고 있는데 하위 디렉토리가 있고 하위 디렉토리에 파일이 있습니다. 파일의 변경 사항을 모니터링해야합니다. C++에서는 부스트를 사용하고 있습니다. 30 초마다 모든 디렉토리를 살펴보고 last_write_time을 확인합니다. 주로 작동합니다. 그러나이 작업이 실행될 때마다 내 CPU가 작동하지 않고 상위 15-25 % CPU 사용 이 표시됩니다. 나는 inotify에 대해 읽었습니다. inotify를 사용하면 CPU 사용량이 다소 줄어들거나 개선 될 수 있습니까? 제가하고있는 일에 좋은 대안이 있습니까?모니터링 파일 변경 C++ linux
11
A
답변
13
inotify를 사용할 때 변경 사항이 있는지 확인하기 위해 모든 파일을 폴링 할 필요가 없습니다. 감시 된 파일이나 디렉토리가 변경되면 알려주는 콜백 시스템이 제공됩니다.
커널/파일 시스템에 이미이 정보가 있으므로 리소스/CPU 사용량이 다른 응용 프로그램으로 옮겨지지 않고 실제로 줄어 듭니다.
Monitor file system activity with inotify은 inotify를 사용하는 이유에 대해 자세히 설명하고 기본 사용법을 보여주고 설정하는 데 도움이됩니다.
+0
답변에 많은 감사드립니다. 나는 그것을 시도 할 것이다. – user1566277
0
http://linux.die.net/man/7/inotify 이렇게하면 문제를 해결하는 데 도움이됩니다.
관련 문제
- 1. 파일 모니터링 및 변경
- 2. 모니터링 파일 변경
- 3. C - 프로세스가있는 파일 모니터링
- 4. Linux에서 파일 변경 디렉토리 모니터링
- 5. C에서 파일 시스템 변경 모니터링 #
- 6. python watchdog 모니터링 파일 변경
- 7. Linux C에서 시스템 호출을 선택하여 파일 모니터링
- 8. C#의 파일 크기 모니터링
- 9. C/C++에서의 Linux 네트워크 인터페이스 사용 모니터링
- 10. 마이크 변경 모니터링
- 11. 파일 변경 모니터링 Google 앱 엔진 끄기
- 12. 이전 glibc를 사용하여 Linux에서 파일 변경 모니터링
- 13. Google 클라우드 저장소 - 파일 변경 모니터링
- 14. Java를 통한 파일 시스템 변경 모니터링
- 15. 프로세스 모니터링 - Python/Ubuntu/Linux
- 16. Linux 라이브러리 모니터링 도구가 필요합니다
- 17. C# 데이터베이스 테이블 변경 모니터링 방법
- 18. SQL 데이터베이스 변경 모니터링
- 19. 모니터링 파일
- 20. Python 파일 무결성 모니터링
- 21. 파일 소켓 보내기 C linux
- 22. linux 커맨드 라인에서 c 파일
- 23. 파일 이름 분리 c-linux
- 24. Linux/Unix에서 SQL 쿼리 수동 모니터링
- 25. 속성 변경 모니터링
- 26. 배열 변경 모니터링
- 27. 페이지 변경 모니터링
- 28. 사용자 항목 변경 모니터링
- 29. MySql 백업/변경 모니터링
- 30. 변경 사항을 mysql에서 모니터링
모든 파일과 하위 디렉토리를 거치지 않아도되므로 성능이 크게 향상됩니다. 대신 파일이나 디렉토리가 변경되면 알림을 받게됩니다. Inotify는 Linux를 사용하는 가장 좋은 방법 일 것입니다. –
요아킴에 감사드립니다. 나는 그것을 시도 할 것이다. – user1566277