Daemon

Daemon은 특정 사용자의 session에 종속되지 않고, system level에서 독립적으로 실행되며, 요청이나 event를 대기하는 background process 입니다.

사용자의 직접적인 제어 없이 자동으로 실행되며, 보통 시스템 시작 시 함께 구동됩니다.

terminal이나 UI와 연결되지 않은 채로 동작하고, 특정 event나 요청을 기다리며 대기합니다.

Daemon의 예시

  • httpd / nginx
  • sshd
  • cron
  • mysqld

일반 프로그램과의 차이

  • 일반 프로그램: 사용자가 실행 -> 작업 수행 -> 종료
  • daemon: system 시작 -> background 대기 -> 요청 있을때마다 응답 (system 종료시까지 계속 실행)

이름의 유래

Unix 개발자들이 그리스 신화의 다이몬(?) 에서 따왔다고 함.

다이몬은 인간계와 신계 사이에서 조용히 중재하는 존재로, 눈에 보이지 않게 일하는 daemon의 특성과 잘 맞아떨어진다고 함..

Linux 에서 daemon 확인

# 실행 중인 daemon 목록 확인
systemctl list-units --type=service --state=running
# 특정 데몬 상태 확인
systemctl status sshd