: 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로세스를 말한다.
-
Init 프로세스를 부모로 두고 있고, 제어하는 터미널이 없는 프로세스를 칭한다.
맥스웰이 언급한 보이지 않는곳에서 분자들을 골라주는 유령에서 영감을 받아 이런 이름이 만들어졌다고 한다.
- fork후 부모는 바로 종료되며, fork된 자식은 Init의 자식으로 입양된다. → fork off and die
- 일반적으로 데몬을 뜻하는 ‘d’를 이름 끝에 달고있고 프로세스 방식으로 실행된다.
httpd
,syslogd
,ftpd
- 네트워크, 하드웨어 요청에 응답하거나 프로그램에 반응하는 기능을 한다.
대부분 시스템 관련된 작업을 하는 경우가 많아 시스템이 가동될 때 같이 실행되기도 한다.
- 종류에는
apache
,ftpd
,telnet
등등이 있다.
- 백그라운드에서 작동한다.
- 평소에 메모리에 상주하지만, CPU을 할당받지 않고 (idle 상태) 호출될 경우에만 작동한다.
- 사용자가 직접 제어하지 않는다.
: 다른 데몬들을 관리하는 데몬이다.
- 데몬들이 항상 메모리에 상주하는것은 자원 낭비이다.
필요할떄만 메모리에 적재 할 수 없을까? 이를 위해 Internet Super Daemon이 필요하다.
- 슈퍼 데몬에 의해 관리되는 데몬들은, 필요한 경우에만 메모리에 적재 된다.
standalone, xinetd
: 독립적으로 실행되는 모드이다.
- 항상 메모리에 상주한다. → 메모리 점유로 인한 부하가 있다.
부팅할때 자동적으로 같이 실행되는 데몬 등...
- 요청이 있을때 언제나 응답이 가능하므로, 빠른 응답이 가능하다.
- 슈퍼 데몬도
Standalone
모드이다. - 대표적으로는
apache데몬
,mysql데몬
,sendmail데몬
이 있다.
: 슈퍼 데몬에 의해서 관리되는 방식의 모드이다.
- 평소에 메모리에 상주해있지 않는다. → 필요한 경우에만 메모리에 적재되어 자원 낭비를 줄인다.
- 응답속도는 상대적으로 느리다.
- 대표적으로는 Telnet 데몬, ftp 데몬, shell 데몬이 있다.
요청이 들어오면 대기하고 있던 슈퍼데몬이 Telnet데몬을 불러와 서비스를 제공한다.