首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OS X上以编程方式获取带有pid的进程的当前工作目录

问在OS X上以编程方式获取带有pid的进程的当前工作目录
EN

Stack Overflow用户
提问于 2009-10-05 16:53:16
回答 2查看 2.8K关注 0票数 6

有没有办法在OS上使用进程的PID以编程方式获取进程的当前工作目录?

可可、碳或AppleScript都是可以接受的。

将"pwd“发送到当前终端窗口/选项卡是不可接受的(不想影响工作区)。

linux命令"pwdx“也是不可接受的(只是为了防止你通读"Cocoa”部分)。

EN

回答 2

Stack Overflow用户

发布于 2009-11-13 11:51:56

在10.5及更高版本中:

lsof -a -p $PID -d cwd -Fn

(如果进程归超级用户所有,则使用sudo作为前缀。)

票数 9
EN

Stack Overflow用户

发布于 2009-10-06 20:36:52

以下AppleScript是针对您的问题的部分解决方案。给定变量thePID中的UNIX,它首先获取进程的名称。然后,它将do shell script命令发送到应用程序进程,这将导致派生一个子shell进程。子进程继承当前目录,然后可以通过运行pwd命令来确定该目录。

代码语言:javascript
复制
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进程)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1521190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档