Я использую launchctl для загрузки / запуска моего скрипта Python, и он работает в определенной степени. Он запускается каждые 120 секунд, но иногда мой сценарий запускается за 500 секунд, и моя теория заключается в том, что у меня запущен процесс, который перезапускает его, а не позволяет запустить первый.
Я думаю, что происходит: - запустить tester.py (примерное время tester.py завершить 400 с) - через 120 с - снова запустить tester.py и отказаться от первого
Что я хочу: чтобы закончить первый tester.py, не перезапускать его.
<?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>BuildNotification.py</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/python</string>
<string>/Users/xcuer/tester.py</string>
</array>
<key>StartInterval</key>
<integer>120</integer>
<key>TimeOut</key>
<integer>7200</integer>
<key>ExitTimeOut</key>
<integer>7200</integer>
</dict>
</plist>
crontab
и launchd
рабочие места. Его тест на 4 строки в оболочке может быть очень легко написан на Python, Perl, AppleScript или любом другом языке сценариев.