데몬(Daemon) 프로세스란? 주요 특징

컴퓨터에서 데몬(daemon)은 죽지 않고 백그라운드에서 지속적으로 실행되는 프로세스를 의미합니다. 데몬 프로세스의 예시와 특징에 대해 알아보겠습니다.

데몬이란?

데몬(daemon)은 사용자와 상호 작용하지 않고 백그라운드에서 실행되는 프로세스를 말합니다. 일반적으로 웹 사이트 서버 가동, 네트워크 서비스, 스케줄러 실행 같은 장기 작업에 사용됩니다.

 

예를 들어 아파치 웹서버도 데몬입니다. 프로세스가 실행되면 수신 대기 포트에서 24시간 내내 클라이언트의 요청에 지속적으로 응답하지만 컴퓨터 사용자와 상호 작용하는 건 없습니다. 리눅스에서 스케줄러 작업을 등록하는 cron 같은 경우도 백그라운드에서 주기적으로 알아서 작업을 수행하는 데몬입니다.

논(Non)데몬

반대로 데몬이 아닌 프로세스는 포그라운드에서 실행되고 사용자의 상호 작용이 이루어지는 프로세스를 말합니다. 다만 이런 프로세스에 대해서는 굳이 Non-Daemon이라는 표현을 하지는 않습니다. 그냥 프로세스라고 부릅니다.

 

예를 들어 구글 크롬은 논데몬입니다. 사용자가 그래픽을 통해 화면에 보이는 프로세스와 상호작용합니다. 이외에도 계산기를 사용하거나 엑셀을 쓰거나 워드를 쓰거나 많은 예시를 생각해 볼 수 있겠네요.

데몬의 주요 특징

  • 데몬은 일반적으로 시스템 시작 시 자동으로 시작됩니다.
  • 데몬은 백그라운드에서 실행됩니다. 사용자가 시스템에서 로그아웃한 후에도 계속 실행할 수 있습니다.
  • UI를 표시하지 않습니다.
  • 데몬은 주로 장기 실행 작업에 사용되며 더 많은 시스템 리소스가 필요합니다.

 

정리하면, 데몬이나 논데몬이나 모두 프로그램이 실행된 프로세스입니다. 다만 굳이 데몬을 구분 짓는 이유는 일반적인 프로세스와는 다르게 지속적으로 백그라운드에서 실행되는 특성을 가지고 있기 때문입니다. 이런 특성은 시스템 리소스 관리 측면에서도 큰 영향을 주기 때문에 데몬과 논데몬의 구분은 필요합니다.

반응형

댓글

Designed by JB FACTORY