01.리눅스 기초 - 항상 실행(daemon)
🌈 항상 실행(daemon)
🔥 데몬(daemon) 이란?
🔥 apache 실행
🔥 apache 종료
🔥 apache 실행 여부 터미널에서 확인
🔥 daemon 실행하고 종료하기
1. 데몬(daemon) 이란?
- 지금까지 배운
ls, mkdir, rm과
과 같은 명령어들은 사실 파일로된 프로그램이며, 평소에는 파일로 존재하다가 명령을 실행시키면 작동하는 프로그램임
- 이에 반해, 데몬(daemon)은 항상 실행되는 특성을 갖고 있는 프로그램들을 말함
- 예를 들어, 집에 TV와 같은 제품들은 필요할 때 켯다가 끄지만, 냉장고(daemon)는 항상 작동중이어야 함
- 프로그래밍에서 서버와 같은 프로그램은 항상 켜져 있어야하기 때문에 daemon 프로그램으로 볼 수 있음
- 서버 프로그램인 apache를 통해 daemon에 대해 이해하기
1) apache 설치되었는지 확인 : 🔍 httpd -v 또는 apachectl -v
- 아래 처럼 나온다면, 이미 아파치가 설치되어있는 것임(mac에는 기본적으로 설치가 되어있음)
- mac에서 daemon 프로그램들을 보관하고 있는 곳은
/System/Library/LaunchDaemons/
으로 이 안에 org.apache.httpd.plist 로 존재
2. apache 실행
- apache가 없다면 터미널에서 아래 명령어로 실행하면 brew를 통해 apache를 설치할 수 있음
- 🔍 아파치 설치 :
brew install httpd
- 🔍 아파치 실행 :
sudo brew services start httpd
- 🔍 아파치 실행되었는지 확인 : 웹브라우저에서 http://localhost:8080/ 입력
- It works! 가 표시된다면 현재 apache 서버가 실행 중인 것을 의미함
- PC를 재부팅해도 자동으로 실행되고 있는 것을 확인할 수 있음
- 즉, 한번 실행시켜 놓으면 deamon으로 작동되기 때문에 종료를 시키기 전까지는 실행됨
3. apache 종료
4. apache 실행 여부 터미널에서 확인
- apache 실행되었는지 확인 :
ps aux | grep httpd
- apache가 실행되고 있지 않을 때는 아래처럼 실행 파일이 조회되지 않음
5. daemon 실행하고 종료하기
- Mac OS는 "launchd"에서 ‘부팅 과정시 초기화’ 와 ‘운영체제 서비스 관리’를 수행함
- launchd를 제어하기 위해서는 launchctl 라는 명령을 사용하여 daemon 관리함
- 즉, mac에서는 launchctl 로 데몬을 올리거나 내릴 수 있고, launchd 가 제어하는 작업을 시작하거나 중지할 수 있음
- mac에서는 /System/Library/LaunchDaemons 경로에 daemon을 저장
- 이에 아파치를 daemon에 올려 실행하기 위해서는 아래와 같이 명령
- "org.apache.httpd.plist"는 "/System/Library/LaunchDaemons/"에 존재하는 apache 설정 파일
- 🔍 sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
- 또한 daemon에 올라간 프로그램을 내릴 때는 아래와 같이 명령
- 🔍 launchctl unload -w ~/Library/LaunchAgents/org.apache.httpd.plist