01.리눅스 기초 - 항상 실행(daemon)

ID짱재·2021년 3월 11일
1

Llinux

목록 보기
11/17
post-thumbnail

🌈 항상 실행(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 종료

  • 아파치 종료 : sudo brew services stop httpd
  • 아파치 종료되었는지 확인 : 웹브라우저에서 http://localhost:8080/ 입력하면 아래처럼 나옴

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
profile
Keep Going, Keep Coding!

0개의 댓글