Существует хранитель экрана, который запускает сценарии в OS X — это здорово, но проблема, с которой я столкнулся, заключается в том, что он запускает несколько копий сценария. Есть ли простой способ убедиться, что одновременно работает только одна копия этого скрипта?
Убедитесь, что запущен один экземпляр applescript
Ответы (1)
Джон Грубер написал пост о чем-то очень похожем на это некоторое время назад. Короче говоря, вы бы просто обернули все это в блок, подобный следующему:
tell application "System Events"
count (every process whose name is "BBEdit")
end tell
замените «BBEdit» на имя вашего приложения, а затем запустите, только если счетчик равен 0.
person
eykanal
schedule
24.10.2011
Я попробовал нечто подобное, взяв за основу этот скрипт. Я не мог заставить его работать, хотя. Я не думаю, что PS видел яблочный скрипт. Системные события IRT видят отдельный яблочный скрипт — мне придется задать еще один вопрос об этом.
- person grass out the donkey; 25.10.2011
Я думаю, что этот подход предназначен для сохранения яблочных скриптов как автономных приложений (Сохранить как... с форматом файла: Приложение). В этом случае он запустится как собственный процесс.
- person eykanal; 25.10.2011