피드로 돌아가기
Haul :) a tiny file organizer daemon for Linux
Dev.toDev.to
Infrastructure

inotify 기반 이벤트 드리븐 설계를 통한 CPU 점유율 제로화

Haul :) a tiny file organizer daemon for Linux

KUSHAL BARAL2026년 4월 25일2beginner

Context

정기적 폴링 방식의 Cron job 사용 시 발생하는 불필요한 리소스 낭비와 대기 시간의 한계 분석. 파일 변경 감지를 위해 지속적으로 프로세스를 유지하는 상주형 데몬의 오버헤드 해결 필요성 대두.

Technical Solution

  • Linux 커널의 inotify API를 활용한 이벤트 기반 파일 감지 구조 설계
  • 상주 프로세스를 제거하고 이벤트 발생 시에만 작동하는 On-demand 실행 모델 채택
  • systemd의 자동 재시작 메커니즘을 결합하여 프로세스 생명주기 최적화
  • 확장자 기반 분류 규칙과 타임스탬프를 활용한 Conflict 해결 로직 구현
  • Bash 변수 기반의 설정 구조를 통한 런타임 구성의 유연성 확보

- 폴링 주기 설정의 딜레마 해결을 위해 OS 레벨의 Event API 검토 - 지속적인 리소스 점유가 불필요한 작업의 경우 systemd를 활용한 일시적 프로세스 실행 패턴 적용 - 파일 중복 처리 시 단순 덮어쓰기가 아닌 Content 기반 식별 및 Timestamp renaming 전략 수립

원문 읽기