특정 유형의 파일 이름 (* .monitored)에 대한 디렉토리 트리를 모니터링하는 작은 응용 프로그램이 있습니다. 일치하는 파일 수를 계산하고, inotify를 사용하여 추가 또는 삭제되는 파일과 일치하는 다양한 이벤트를 모니터하고, 현재 파일 수 및 몇 가지 파일이 추가되거나 제거 된 평균 속도를 폴링하여보고 할 수 있습니다 초. 디렉토리 트리는 수십만 개의 파일을 포함 할 수 있으므로 모니터링되는 파일의 목록을 유지하지 않도록 노력하고 있습니다.linux inotify rename() 덮어 쓰기 이벤트
나는 실행하는 경우 :
touch foo.monitored
내가 IN_CREATE을 얻고, 내가 NUM_FILES을 설정 =
touch foo.ignored
내가 IN_CREATE이 그것을 무시하고 NUM_FILES = 1
mv foo.ignored foo.monitored
을 떠날 수 1
생성 :
IN_MOVE 무시한 foo.ignored에 대한 D_FROM이므로 새 파일로 가져 오는 foo.monitored의 경우 num_files = 1
IN_MOVED_TO가되므로 새 파일로 가져 오므로 num_files = 2로 설정하면 이전 foo.monitors가 덮어 썼습니다. 잘못된.
이전 foo.monitored의 종료를 알리는 이벤트를 찾을 수 없습니다. 파일 이름의 거대한 구조를 유지하지 않고 원하는 것을 할 수있는 방법이 있습니까?
감사합니다.
투표를 종료 한 사람은 댓글을 남겨 두어야합니다. 이것은 꽤 잘 정의 된 질문처럼 보입니다. –