Убедитесь, что запущен один экземпляр applescript

Существует хранитель экрана, который запускает сценарии в OS X — это здорово, но проблема, с которой я столкнулся, заключается в том, что он запускает несколько копий сценария. Есть ли простой способ убедиться, что одновременно работает только одна копия этого скрипта?


person grass out the donkey    schedule 24.10.2011    source источник


Ответы (1)


Джон Грубер написал пост о чем-то очень похожем на это некоторое время назад. Короче говоря, вы бы просто обернули все это в блок, подобный следующему:

tell application "System Events"
    count (every process whose name is "BBEdit")
end tell

замените «BBEdit» на имя вашего приложения, а затем запустите, только если счетчик равен 0.

person eykanal    schedule 24.10.2011
comment
Я попробовал нечто подобное, взяв за основу этот скрипт. Я не мог заставить его работать, хотя. Я не думаю, что PS видел яблочный скрипт. Системные события IRT видят отдельный яблочный скрипт — мне придется задать еще один вопрос об этом. - person grass out the donkey; 25.10.2011
comment
Я думаю, что этот подход предназначен для сохранения яблочных скриптов как автономных приложений (Сохранить как... с форматом файла: Приложение). В этом случае он запустится как собственный процесс. - person eykanal; 25.10.2011