관리 메뉴

너와 나의 스토리

Launchd를 이용해 시스템 부팅할 때마다 자동으로 서버 띄우기 예제 본문

개발

Launchd를 이용해 시스템 부팅할 때마다 자동으로 서버 띄우기 예제

노는게제일좋아! 2024. 1. 24. 15:06
반응형

Launchd란?

  • 시스템 서비스 관리자
  • 운영 체제 부팅 시 가장 먼저(자동) 실행되는 첫 번째 프로세스 
  • launchd 프로세스를 사용하여 셸 스크립트를 시행할 수 있다
  • 시스템 이벤트 및 스케쥴에 따라 다양한 작업을 실행함
  • 시스템의 초기화 및 서비스 프로세스를 시작하고 관리하여 전반적인 시스템 동작을 조정함

 

launchd 간단 예제: python 서버 띄우기

Step 1: Launchd 작업 파일 생성

  • ~/Library/LaunchAgents 하위에 'com.example.webserver.plist' 파일 생성하여 아래의 내용 작성
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.webserver</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/python3</string>
        <string>-m</string>
        <string>http.server</string>
        <string>8080</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

 

Step 2: Launchd 작업 로드

launchctl load ~/Library/LaunchAgents/com.example.webserver.plist

 

Step 3: 테스트

  • "http://localhost:8080"에 방문하여 확인

 

  • 이제 시스템이 부팅될 때마다 웹 서버가 8080번 포트에서 자동으로 실행된다. 

 

Step 4: 로드한 작업 중지하기

launchctl unload ~/Library/LaunchAgents/com.example.webserver.plist

 

 

 

반응형
Comments