01자동화
2026년 8월레포지토리 자동 분석 개발자 포트폴리오
매일 GitHub 레포를 자동 분석해 기술스택·아키텍처 다이어그램을 정리하는 Next.js 정적 포트폴리오 사이트
이 프로젝트에서의 launchd 활용
macOS에서 스케줄러와 상시 호스팅 프로세스 관리
portfolio프로젝트 자세히 보기 →
프로젝트 1개에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.
macOS와 iOS에서 데몬, 에이전트, 프로세스를 관리하는 시스템 초기화 및 서비스 관리자
launchd는 Apple이 macOS와 iOS에서 사용하는 init 시스템이자 서비스 관리자입니다. 시스템 부팅 시 첫 번째로 실행되어 다른 모든 프로세스를 시작하고, 백그라운드 데몬과 사용자 에이전트를 관리하며, 스케줄링된 작업을 실행합니다. Linux의 systemd나 cron, rc.d를 대체하는 통합 솔루션으로, plist 형식의 설정 파일을 통해 프로세스의 실행 조건, 재시작 정책, 환경 변수 등을 선언적으로 정의할 수 있습니다.
이 plist를 /Library/LaunchDaemons/com.example.backup.plist에 저장하고 launchctl load 명령으로 등록하면, 매일 오전 2시에 백업 스크립트가 자동 실행됩니다.
<?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.backup</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/backup.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>2</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/var/log/backup.log</string>
<key>StandardErrorPath</key>
<string>/var/log/backup.err</string>
</dict>
</plist>위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.
위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.
매일 GitHub 레포를 자동 분석해 기술스택·아키텍처 다이어그램을 정리하는 Next.js 정적 포트폴리오 사이트
이 프로젝트에서의 launchd 활용
macOS에서 스케줄러와 상시 호스팅 프로세스 관리
위 프로젝트들에서 같이 쓰인 다른 기술입니다.