яблочный скрипт истекает при запуске терминала - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть сценарий, в котором мне нужно запустить исполняемый файл из терминала

сценарий, как показано ниже

    tell application "Terminal"
    activate
    set run_cmd to "sudo <path to my executable>"
    do script run_cmd
    end tell

, но это время ожидания с сообщением об ошибке

error "Terminal got an error: AppleEvent timed out." number -1712

Я даже пытался использовать тайм-аут, например

, с тайм-аутом 5000 секунд

   tell application "Terminal"
        activate
         with timeout of 5000 seconds
        set run_cmd to "sudo <path to my executable>"
        do script run_cmd
         end timeout
        end tell

но не повезло, что время ожидания истекло ...

Такое поведениенаблюдается иногда, не всегда.Я использую El Capitan Mac OS.

У меня была возможность протестировать Sierra и High Sierra, и там все работает хорошо.

Есть идеи, как мы можем решить эту проблему?

Примечание. Если я открою терминал перед запуском этого скрипта, он будет выполнен без проблем.

Заранее спасибо

1 Ответ

0 голосов
/ 14 февраля 2019

Как насчет того, чтобы попробовать что-то подобное ...

tell application "Terminal" to launch
repeat while application "Terminal" is not running
    delay 0.2
end repeat
tell application "Terminal"
    activate
    set run_cmd to "sudo <path to my executable>"
    do script run_cmd
end tell
...