감시기와 처리기의 연결
관찰자에 경로와 이벤트 처리기를 등록해 변경을 전달받는다. 하위 디렉터리를 포함하는 재귀 감시도 설정할 수 있다. 응용은 처리기에서 이벤트에 반응하고 감시를 시작하거나 중단하는 생명주기를 관리한다.
명령행 실행과 확장
선택적으로 설치하는 Watchmedo는 패턴에 맞는 이벤트를 기록하거나 셸 명령을 실행한다. YAML 파일로 이벤트 처리 확장을 구성할 수도 있다. Python 안에서 직접 API를 사용하는 방식과 별도 명령행 도구로 실행하는 방식을 제공한다.
운영체제별 감시 차이
Linux의 inotify와 macOS의 FSEvents 또는 kqueue, Windows의 파일 변경 알림을 사용한다. 운영체제에 독립적인 폴링도 가능하다. 편집기가 원본을 교체하는 저장 방식을 쓰면 예상한 수정 이벤트와 다른 결과가 생길 수 있으며 네트워크 파일 시스템에서는 폴링을 명시해야 하는 경우도 있다.
관련 문서
Watchfiles / Fsnotify / Watchman / Python / YAML / 파일 시스템