데몬 프로스세란?
데몬 프로세스가 무엇인지, 실행 방식에는 무엇들이 있는지 알아봅니다.
Daemon Process
백그라운드에서 시스템과 관련된 활동을 하는 프로세스
- 보이지 않는곳 (백그라운드) 에서 사용자가 신경쓰지 않게 해준다라는 뜻에서
Daemon
이라는 이름이 붙여졌다.- 맥스웰이 언급한 보이지 않는곳에서 분자들을 골라주는
유령
에서 영감을 받아 이런 이름이 만들어졌다고 한다.
- 맥스웰이 언급한 보이지 않는곳에서 분자들을 골라주는
-
Init 프로세스를 부모로 두고 있고, 제어하는 터미널이 없는 프로세스를 칭한다.
Init
바로 아래에 위치한다.fork
후 부모는 바로 종료되며, fork된 자식은Init
의 자식으로 입양된다.- 이런 방식을
fork off and die
라고 부르기도 한다.
- 네트워크, 하드웨어 요청에 응답하거나 프로그램에 반응하는 기능을 한다.
- 대부분의 데몬이 시스템에 관련된 작업을 하는 경우가 많다.
- 이런점 때문에 시스템이 가동될때 같이 시작되는 경우가 많다.
- 종류에는
apache
,ftpd
,telnet
등등이 있다. - 일반적으로 프로세스 이름 뒤에
d
자가 붙는다.httpd
,syslogd
,ftpd
일반 Daemon
- 백그라운드에서 작동한다.
- 평소에 메모리에 상주하지만, CPU을 할당받지 않고 (idle 상태) 호출될 경우에만 작동한다.
- 사용자가 직접 제어하지 않는다.
Internet Super Daemon
다른 데몬들을 관리하는 데몬
- 사실 데몬들이 항상 메모리에 상주하는것은 자원 낭비이다.
- 이런 부분을 해결하기 위해서
슈퍼 데몬
이 존재한다. - 슈퍼 데몬에 의해 관리되는 데몬들은, 필요한 경우에만 메모리에 적재 된다.
실행방식
Stand alone
,Xinetd
Stand alone
독립적으로 실행되는 모드이다.
- 항상 메모리에 상주한다.
- 요청이 있을때 언제나 응답이 가능하므로, 빠른 응답이 가능하다.
- 부팅할때 자동적으로 같이 실행되는 데몬들은 Standalne 방식의 데몬이다.
슈퍼 데몬
도 Standalone 모드이다.- 대표적으로는
apache
데몬,mysql
데몬,sendmail
데몬 처럼 항시 대기해야 하는 데몬들이 있다.
Xinted (eXtended Internet Service Daemon)
슈퍼 데몬
에 의해서 관리되는 방식
- 평소에 메모리에 상주해있지 않는다.
- 필요한 경우에만 메모리에 적재되어 자원 낭비를 줄여 서버의 부담을 줄여준다.
- 응답속도는 상대적으로 느리다.
- 대표적으로는
Telnet
데몬,ftp
데몬,shell
데몬이 있다.- 예시 : 요청이 들어오면 대기하고 있던
슈퍼데몬
이Telnet
데몬을 불러와 서비스를 제공한다.
- 예시 : 요청이 들어오면 대기하고 있던
Reference
- https://ko.wikipedia.org/wiki/%EB%8D%B0%EB%AA%AC_(%EC%BB%B4%ED%93%A8%ED%8C%85)
- https://geundi.tistory.com/43
- https://blogger.pe.kr/770
- https://hack-cracker.tistory.com/92
- https://m.blog.naver.com/gmasisy1/220644311274