2023. 3. 13. 13:56ㆍ부트캠프/DevOps (TIL)
데몬과 서비스의 차이
서버 관리 등의 용도로 사용되는 backgroud process에 대해, Linux에서는 데몬, Windows에서는 서비스라고 부릅니다. 말그대로 백그라운드에서 동작하는 기능을 관리하며 사용자가 명시적으로 시작하지 않아도 자동으로 실행됩니다. 이러한 기능적 공통점 때문인지 Windows에서도 데몬이라는 용어가 자주 쓰이고, Linux에서는 포트/프로토콜 정보를 정의해놓은 /etc/services가 따로 존재하기 때문에 두 OS에서 데몬과 서비스는 혼용되어 쓰입니다.
하지만 데몬과 서비스는 동의어는 아닙니다.
Linux의 데몬
Windows의 서비스
데몬은 보통 syslogd, httpd 처럼 프로그램 이름 끝에 d 가 붙습니다.이러한 데몬은 상시 실행되며 주로 다음과 같은 일을 합니다.
이 중에서 “애플리케이션 수준의 서비스”를 보통 서비스라고 간략하게 줄여서 부릅니다. 같은 프로그램을 지칭할 때 때때로 서비스와 데몬이라는 용어가 서로 번갈아가면서 등장할 수 있어요. 운영체제의 관점에서는 “데몬”이며, 사용자의 관점에서는 “서비스”라고 불릴 따름입니다.
대표적인 데몬의 예: 웹 서버 (httpd)
사용자가 어떤 웹 페이지에 접근하고 원하는 결과를 얻으려면, 웹 페이지를 제공하는 프로세스가 상시 실행중이어야 할 것입니다. 이러한 프로그램을 “웹 서버” 라고 하며, 일반적으로 백그라운드에서 작동되므로, 이를 데몬이라고 부를 수 있습니다.
httpd 실습
다음 예제는 간단한 HTML 파일을 만들어 웹 서버에 띄운 후, curl 이라는 유틸리티를 이용해 해당 주소로 접속해보는 실습입니다. curl로 해당 주소에 접속할 때, 접속 여부에 따라 웹 서버가 데몬으로 작동되고 있는지 아닌지를 확인할 수 있습니다.
당장 아래의 모든 과정을 완벽하게 이해하지 못해도 좋습니다. 명령어를 그대로 따라서 쳐보는 것만으로도 충분합니다.
busybox는 각종 유틸리티를 담은 일종의 “스위스 군용 칼”과 같은 리눅스용 애플리케이션으로, 아주 단순한 기능을 가진 웹 서버(httpd)를 포함하고 있습니다.
httpd는 기본적으로 데몬으로 실행되며, 위의 실습처럼 백그라운드에서 돌면서, 목적에 맞는 기능(여기서는 웹 서버의 역할)을 수행합니다.
05_Study(서비스 관리 (systemctl)) (0) | 2023.03.13 |
---|---|
05_Study(cron 데몬) (0) | 2023.03.13 |
05_Study(kill, jobs) (0) | 2023.03.13 |
05_Study(프로세스 관리 ps, pstree) (0) | 2023.03.13 |
05_Study(프로그램, 프로세스, 스레드, 멀티 스레드) (0) | 2023.03.13 |