Tôi có một tệp plist launchd mà tôi sử dụng để chạy một chương trình tại một thời điểm được chọn mỗi ngày. Nó hoạt động, nhưng nó cũng chạy chương trình bất cứ khi nào tôi khởi động máy tính hoặc giải nén và tải lại công việc bằng chương trình GUI LaunchControl --- ngay cả khi tôi có RunAtLoad
khóa được đặt thành false?
Các tập tin đầy đủ là dưới đây; nó nằm ở /Library/LaunchAgents/
:
<?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>RunAtLoad</key>
<false/>
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<false/>
</dict>
<key>Label</key>
<string>com.adbot.plist</string>
<key>LowPriorityIO</key>
<true/>
<key>Program</key>
<string>/Users/wcm1/programming/ricedh/adbot/adbot.py</string>
<key>StandardErrorPath</key>
<string>/tmp/com.adbot.plist.err</string>
<key>StandardOutPath</key>
<string>/tmp/com.adbot.plist.out</string>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>10</integer>
<key>Minute</key>
<integer>30</integer>
</dict>
</array>
</dict>
</plist>
Suy nghĩ?
KeepAlive
định nghĩa của tôi là ngụ ýRunAtLoad
, và thậm chí ghi đè nỗ lực của tôi để đặtRunAtLoad
thành sai. Không chắc chắn tại sao đây là trường hợp, nhưng việc đưa raKeepAlive
khối dường như đã khắc phục vấn đề.