У меня есть скрипт на python в virtualenv (ENV), который вызывает другие модули в ENV. Я хочу запускать скрипт в определенное время каждый день. Поэтому, находясь на OS X, я должен использовать launchd.
Я написал .plist и поместил в ~/Library/LaunchAgents для использования пользователем. Я загрузил .plist, но получаю сообщение об ошибке в консоли:
14/03/13 10: 51: 50.000 PM ядро [0]: ПОДПИСАНИЕ КОДА: cs_invalid_page(0x10ce98000): p = 1279 [python] очистка CS_VALID
Я подтвердил, что это сообщение связано со сценарием или процессом запуска, установив для ключа .plist StartInterval значение 15 и видя, что сообщение появляется каждые 15 секунд.
Вот список .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.dayone.archive</string>
<key>ProgramArguments</key>
<array>
<string>/Users/css/Working/PythonScripts/ENV/bin/python</string>
<string>/Users/css/Working/PythonScripts/ENV/bin/recentLinks.py</string>
</array>
<key>StartInterval</key>
<integer>15</integer>
<key>KeepAlive</key>
<true/>
<key>WorkingDirectory</key>
<string>/Users/css/Working/PythonScripts/ENV/bin</string>
</dict>
</plist>
Я попробовал .plist с помощью скрипта bash, который также вызывает скрипт python (!) но получил тот же результат. Конечно, у меня нет проблем с запуском bash-скрипта из терминала.