Service, daemon이 뭘까

공부/개발

Service, daemon이 뭘까

휴전 2025. 1. 9. 23:12

개발자라면 servicedaemon에 대해 이해하는 것이 중요합니다.

둘 다 시스템에서 특정 작업을 백그라운드에서 실행하는 프로그램을 지칭하지만, 약간의 차이가 있습니다.

 


1. Service (서비스)

  • 정의: 서비스는 시스템에서 특정 작업을 수행하는 데 사용되는 프로세스입니다. 사용자가 직접 요청하지 않아도 특정 트리거에 의해 실행되며, 일반적으로 백그라운드에서 실행됩니다.
  • 특징:
    • 사용자가 직접 인터페이스를 통해 접근하지 않아도, 시스템이나 다른 프로그램에 의해 실행됩니다.
    • 서비스는 서버-클라이언트 모델에서 자주 사용되며, 클라이언트가 요청하면 응답을 제공합니다.
    • Windows와 Linux 모두에서 사용됩니다.
  • 운영체제별 동작:
    • Windows: Windows Services는 백그라운드 작업을 처리하며, 제어는 서비스 관리 도구(services.msc)로 가능합니다.
    • Linux: 서비스는 systemd, init, 또는 upstart와 같은 서비스 관리 시스템으로 관리됩니다.
      • 명령어 예시: sudo systemctl start nginx, sudo service apache2 stop.

2. Daemon (데몬)

  • 정의: 데몬은 일반적으로 백그라운드에서 실행되며, 사용자의 명령 없이 시스템 부팅 시 시작하거나 특정 이벤트에 의해 실행되는 프로그램입니다.
  • 특징:
    • Unix 계열 시스템에서 주로 사용됩니다.
    • 사용자의 세션(터미널)과 독립적으로 실행됩니다.
    • 파일 이름에 종종 "d"로 끝납니다. 예: sshd(SSH Daemon), httpd(Apache HTTP Daemon).
  • 작동 방식:
    • 데몬은 부모 프로세스를 종료한 후 스스로 백그라운드에서 실행되도록 만들어집니다.
    • 시스템 부팅 시 시작되거나, 특정 트리거에 의해 동작합니다.
    • 데몬은 주로 서버 애플리케이션(예: 웹 서버, 데이터베이스 서버 등)에서 사용됩니다.
  • 예제
    • HDMI-CEC 데몬 (hdmid):
      • 역할: HDMI 포트 신호 감지, 외부 장치와의 상호작용(예: PlayStation).
      • 예시 동작: PS5 전원을 켜면 TV도 자동으로 켜지고 입력 포트를 전환.
    • 네트워크 관리 데몬 (networkd):
      • 역할: Wi-Fi 신호 스캔, 연결 상태 유지, 이더넷 포트 활성화.
      • 특징: 데몬이 독립적으로 작동하여 TV의 네트워크 연결을 지속적으로 확인.
    • DRM 데몬 (drm-daemon):
      • 역할: 스트리밍 서비스(Netflix, Prime Video 등)의 콘텐츠 보호 및 라이선스 관리.
      • 특징: 백그라운드에서 디지털 권한 처리.

차이점

특징 Service Daemon
플랫폼 Windows, Linux 주로 Unix/Linux
실행 방식 systemctl, service 명령으로 제어 가능 백그라운드에서 지속 실행
주요 사용 사례 네트워크 서버, 데이터베이스, 스케줄러 웹 서버, SSH 서버 등
세션 독립성 사용자와 독립적으로 작동 가능 터미널 세션과 완전히 독립적

 

 

  • Service는 사용자 요청을 처리하며 앱 또는 UI와 긴밀히 연동.
  • Daemon은 시스템 초기화, 하드웨어 관리, 네트워크 관리 등 사용자와 독립적인 작업을 처리.