有没有办法在OS上使用进程的PID以编程方式获取进程的当前工作目录?
可可、碳或AppleScript都是可以接受的。
将"pwd“发送到当前终端窗口/选项卡是不可接受的(不想影响工作区)。
linux命令"pwdx“也是不可接受的(只是为了防止你通读"Cocoa”部分)。
发布于 2009-11-13 11:51:56
在10.5及更高版本中:
lsof -a -p $PID -d cwd -Fn
(如果进程归超级用户所有,则使用sudo作为前缀。)
发布于 2009-10-06 20:36:52
以下AppleScript是针对您的问题的部分解决方案。给定变量thePID中的UNIX,它首先获取进程的名称。然后,它将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该脚本不适用于未链接到AppleEvent框架的进程(例如,纯POSIX进程)。
https://stackoverflow.com/questions/1521190
复制相似问题