Следующий AppleScript является частичным решением вашей проблемы. Учитывая pid UNIX в переменной thePID
, он сначала получает имя процесса. Затем он отправляет команду do shell script
процессу приложения, в результате чего создается дочерний процесс оболочки. Дочерний процесс наследует текущий каталог, который затем можно определить, выполнив команду pwd
.
tell application "System Events"
set theName to name of first process whose unix id is thePID
end tell
tell application theName
do shell script "/bin/pwd"
end tell
Скрипт не работает для процессов, которые не связаны с платформой AppleEvent (например, для процессов с чисто POSIX).