무효로 하다

inotify

inotify(inode notify)는 John McCutchan에 의해 작성된 Linux 커널 서브시스템입니다. 서브시스템은 파일시스템 변경을 감시하고 이러한 변경을 애플리케이션에 보고합니다.디렉토리 뷰의 자동 갱신, 컨피규레이션파일 새로고침, 로그 변경, 백업, 동기화 및 업로드에 사용할 수 있습니다.inotifywaitinotifywatch 명령을 사용하면 명령줄에서 [1]inotify 서브시스템을 사용할 수 있습니다.주요 용도 중 하나는 비글과 같은 데스크톱 검색 유틸리티입니다. 비글의 기능을 통해 파일 시스템의 변경 사항을 몇 분마다 검사하지 않고 변경된 파일을 다시 인덱싱할 수 있으므로 매우 비효율적입니다.

inotify는 비슷한 목표를 가진 이전 시설인 dnotify를 대체했다.2005년 [2]8월 29일에 출시된 커널 버전 2.6.13에서 Linux 커널 메인라인으로 병합되었으며, 이후 커널 버전에는 추가적인 개선이 포함되었습니다.필요한 라이브러리 인터페이스는 2006년 3월에 출시된 버전 2.4에서 GNU C 라이브러리(glibc)에 추가되었으며 inotify 지원은 2006년 [3]9월에 출시된 버전 2.5에서 완료되었습니다.

제한 사항

inotify에 의해 부과되는 제한은 다음과 같습니다.

  • Inotify는 디렉토리 재귀 감시를 지원하지 않습니다.즉, 모든 서브 [4]디렉토리에 대해 개별 inotify 워치를 작성해야 합니다.
  • Inotify는 sysfsprocfs의 일부 이벤트만 보고합니다.
  • inotify를 통한 통지는 커널이 관련된 모든 파일 시스템이벤트를 인식해야 합니다.이것은, NFS등의 네트워크 파일 시스템에서, 1개의 클라이언트에 의해서 행해진 변경이 곧바로 다른 클라이언트에 브로드캐스트 되는 것은 아닙니다.
  • 이름 변경 이벤트는 직접 처리되지 않는다. 즉, 잠재적인 경주 조건의 맥락에서 조사하고 일치시켜야 하는 두 개의 개별 이벤트를 명시하지 않는다.

역사

  • 2004년 7월 : 첫 출시 발표[5]
  • 2005년 8월 29일: Linux 커널 버전 2.6.13 출시 (마지된 inotify[2] 코드 포함)
  • 2006년 3월: GNU C 라이브러리(glibc) 버전 2.4 출시, 초기 지원 제공[3]
  • 2006년 9월: Glibc 버전 2.5가 출시되어 완전한[3] 지원 제공

dotify에 대한 이점

inotify를 사용하면 이전 [6][7][8]dnotify API와 비교하여 많은 이점이 있습니다.dnotify를 사용하면 프로그램은 모니터링하는 디렉토리별로 파일 기술자를 하나씩 사용해야 합니다.프로세스당 파일 기술자의 제한에 도달할 수 있기 때문에 병목 현상이 발생할 수 있습니다.나중에 이 문제를 해결하기 위해 fanotify가 생성되었습니다.리무버블 미디어를 사용할 때 파일 기술자를 dnotify와 함께 사용하는 것도 문제가 있는 것으로 판명되었습니다.파일 설명자가 리소스를 계속 사용 중이므로 디바이스를 마운트 해제할 수 없습니다.

dnotify의 또 다른 단점은 세분화 수준입니다. 프로그래머는 디렉토리 레벨에서만 변경을 감시할 수 있기 때문입니다.통지 메시지 전송 시 발생하는 환경변화에 대한 상세 정보에 액세스하려면 stat 구조를 사용해야 합니다.이것은 stat 구조의 캐시를 유지해야 하기 때문에 캐시된 stat 구조와 비교가 실행됩니다.

inotify API에서는 dnotify에서 사용되는 신호 알림 시스템이 아닌 확립된 선택 및 폴링 인터페이스를 프로그래머가 사용할 수 있도록 파일 기술자를 적게 사용합니다.이것에 의해, 기존의 선택 베이스 또는 폴 베이스 라이브러리(GLib 등)와의 통합도 용이하게 됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ inotify - tools wiki
  2. ^ a b Linux 2.6.13, kernelnewbies.org
  3. ^ a b c inotify man 페이지
  4. ^ Robert Love, Linux 시스템 프로그래밍 담당입니다.오라일리, 페이지 236
  5. ^ "fa.linux.kernel post [RFC][PATCH] inotify 0.8". 2004-07-29. Retrieved 2013-08-19.
  6. ^ Michael Kerrisk (14 July 2014). "Filesystem notification, part 2: A deeper investigation of inotify". LWN.net.
  7. ^ 왜 inotify일까요?Wayback Machine에서 2010-01-16 아카이브 완료
  8. ^ README 파일 지정

외부 링크

  • Kernel Korner – Robert Love(2005)에 의한 inotify 소개
  • Inotify에 관한 LWN 기사– inotify를 사용한 파일 시스템 이벤트 감시(일부 최신이 아님)
  • IBM 문서 – inotify를 사용하여 Linux 파일 시스템 이벤트 모니터링(2008년 9월 6일).
  • 파일 시스템 알림, 파트 1: dnotifyinotify의 개요 – Michael Kerisk(2014)의 LWN.net 기사