launchd
데몬 ( /Library/LaunchDaemons
또는 /System/Library/LaunchDaemons
)을 루트로 실행하고 사용자의 로그인 여부에 관계없이 실행합니다. 사용자가 해당 사용자로 로그인하면 시작 에이전트 ( /Library/LaunchAgents/
또는 ~/Library/LaunchAgents/
)가 실행됩니다. setuid를 사용하여 데몬에서 스크립트를 실행하는 사용자를 변경할 수 없습니다. 이 /System
디렉토리는 Mac OS X 작업용으로 예약되어 있으므로 launchd
plist를 /Library
해당 ~/Library
폴더 나 폴더에 넣는 것이 좋습니다 .
첫 번째 단계는 에이전트 또는 데몬을 만드는지 확인하는 것입니다.
두 번째 단계는 .plist
파일 을 만드는 것 입니다. Lingon 과 같은 GUI 기반 프로그램을 사용하여이 작업을 수행하거나 자주 사용하는 텍스트 편집기를 사용할 수 있습니다.
.plist
매시간마다 스크립트를 실행하기위한 샘플 ( StartInterval
또는 StartIntervalCalendar
원하는 키 또는 특정 시간 및 / 또는 날짜에 대해 초 StartInterval
마다 항목이 발생하는 키 입니다. StartCalendarInterval으로 만든 예제 는 수퍼 유저의 126907 참조 ) :x
StartIntervalCalendar
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.IDENTIFIER_HERE.SOMETHING</string>
<key>OnDemand</key>
<true/>
<key>RunAtLoad</key>
<false/>
<key>UserName</key>
<string>USERNAME HERE</string>
<key>Program</key>
<string>/PATH/TO/SCRIPT</string>
<key>ProgramArguments</key>
<array>
<string>Argument_1</string>
<string>Argument_2</string>
</array>
<key>StartInterval</key>
<integer>3600</integer>
</dict>
</plist>
.plist
필요에 따라 스크립트와 인수 (필수는 별도의 행에 있음)를 가리 키도록 수정하고 레이블 값과 이름은 같지만 .plist
끝에 파일을 저장하십시오 . (예 : local.my-mac.flickrstats
로 저장 됨 local.my-mac.flickrstats.plist
). 아직 데몬을 만들거나 (항상 실행 ) 또는 ( 로그인 한 경우 만) 또는 (모든 사용자가 로그인 한 경우) 해당 .plist
파일을 옮기십시오 ./Library/LaunchDaemons
~/Library/LaunchAgents
/Library/LaunchAgents
launchctl
파일을로드하기 위해 필요에 따라 실행하려는 작업을 시작 합니다. 에있는 항목의 /Library
경우 sudo를 사용해야합니다. 예를 들어,sudo launchctl load -w /PATH/TO/PLIST
: 참고 또한 슈퍼 사용자에 대한 다음과 같은 질문에 체크 아웃 루트로 launchd에 명령을 , 시스템 전체 데몬을로드 하고, 어떻게 스크립트를 매일 실행 얻을 수 있습니다