본문 바로가기

Study/Concept

리눅스 - 데몬(Standalone, xinetd데몬)

데몬

데몬은 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램을 말한다. 보통 뒤에 d로 끝나며 일반적으로 프로세스로 실행된다. (윈도우의 서비스 개념이랑 비슷하다.)

데몬은 대개 부모 프로세스를 갖지 않으며, 즉 PPID가 1이며, 프로세스 트리에서 init 바로 아래에 위치한다.

프로세스 트리 

서버 데몬은 두 가지로 나뉜다.

Standalone 방식

  • 시스템에 독자적으로 프로세스가 구동되어 서비스를 제공하는 데몬을 말한다. ex) 웹서버(httpd), DB 서버(my-sql), 샌드메일 서버(sendmail)

  • 데몬의 실행 및 종료는  service 데몬이름 start/stop/restart 로 사용한다. ex) 웹서버 데몬 동작 : service httpd start 

  • Standalone 타입 데몬의 실행 스크립트 파일은 주로 /etc/init.d/ 디렉토리에 들어있다.

xinetd 방식

  • 슈퍼 데몬이라고 부르며, 슈퍼의 의미는 다른 데몬의 상위에 존재한다는 뜻으로, 다른 하위의 데몬을 지배하는 상위 데몬이다.

  • 참고로, xineted 데몬과 xinetd 타입의 데몬은 다르다. xinted 데몬 자체는 standalone 타입의 데몬으로 항상 프로세스가 구성되어 있다.

  • xinetd타입의 데몬은 사용하기 적당한 데몬은 빈도 수가 대체로 적은 데몬들이다. 계속 실행되어 있다면, 메모리 낭비로 이어질 수 있기 때문이다. 즉,  xinetd타입의 데몬은 평상시에 구동되지 않다가, 서비스를 요청할 때만 xinetd데몬이 알아서 구동시켜주는 방식이므로  별도로 서비스를 가동시켜 줄 수는 없다.

  • xinetd의 설정파일은 /etc/inetd.conf에 있으며 /etc/xinetd.d/ 디렉토리에 있다.

  • xinetd 타입의 실행과 종료는 따로 재시작할 필요가 없으므로, xinetd데몬 만을 재시작하면 된다.

'Study > Concept' 카테고리의 다른 글

드로퍼 (Dropper) 란?  (2) 2019.09.03
내가 모르는걸...ㅠ  (0) 2019.09.03