나는 launchd
에이전트는 WatchPaths 기능을 사용하여 설정합니다. 다음과 같이 보입니다.
<?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.my.label</string>
<key>LowPriorityIO</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>PROGRAM HERE</string>
</array>
<key>QueueDirectories</key>
<array/>
<key>ThrottleInterval</key>
<integer>10</integer>
<key>WatchPaths</key>
<array>
<string>PATH HERE</string>
</array>
</dict>
</plist>
10 초마다 콘솔에 메시지가 표시됩니다.
com.apple.launchd.peruser.501: (com.my.label) Throttling respawn: Will start in 10 seconds
이게 정상인가? 이 메시지를 10 초마다 로그에 기록하도록 시스템에 영향을 줍니까? 오류가 없으며 에이전트 자체가 정상적으로 작동하는 것 같습니다.
아니요, 대기열 디렉토리가 없습니다. 감시 경로를 사용하고 있습니다. 빈 키를 제거해야합니까? 나는 Lingon을 사용하여 이것을 원래 만들었다 고 생각합니다.
—
asmeurer
QueueDirectories
진실로 공백으로 설정합니까? 어떤 것을 사용하고 있다면 프로세스가 끝날 때까지 프로세스가 비어 있는지 확인하십시오.