Cor*_*oyd 5 cocoa applescript macos-carbon process objective-c
有没有办法在OS X上以编程方式使用它的PID来获取进程的当前工作目录?
Cocoa,Carbon或AppleScript都可以接受.
将"pwd"发送到当前终端窗口/选项卡(不想影响工作区)是不可接受的.
linux命令"pwdx"也是不可接受的(以防你阅读"Cocoa"部分)
以下 AppleScript 是您问题的部分解决方案。给定变量中的 UNIX pid,thePID它首先获取进程的名称。然后,它将do shell script命令发送到应用程序进程,这将导致生成子 shell 进程。子进程继承当前目录,然后可以通过运行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
Run Code Online (Sandbox Code Playgroud)
该脚本不适用于未链接到 AppleEvent 框架的进程(例如,纯 POSIX 进程)。
| 归档时间: |
|
| 查看次数: |
2579 次 |
| 最近记录: |