我有freebsd中正在运行的进程的pid。 如何获取当前目录?freebsd:正在运行的进程的当前目录进程号
3
A
回答
3
你可以得到当前工作目录的inode编号与
fstat -p $PID
它看起来像lsof的会给你当前工作目录的人类可读的形式,但我们不会对任何安装本地的FreeBSD机器,所以我无法验证。
-1
/proc/$ PID/cwd包含程序当前工作目录的符号链接。
3
fstat可以找到inode号码和文件系统,并找到可以找到正确的目录。
试试这个:
fstat -p $$|perl -ane '$F[3] eq "wd" && system("find",$F[4],"-xdev","-inum",$F[5],"-print");'
当非root身份运行,发现将可能输出相当多的“权限被拒绝”,用户可以在$F[3]
前面插入close(STDERR);
(第一后避免信息单引号)。
1
在FreeBSD的更新版本中,可以使用procstat -f $PID
,它显示路径名,如果它仍在内核名称缓存中。
相关问题
- 1. 在当前目录中列出正在运行的进程
- 2. 除当前进程外正在运行的进程
- 3. linux-kernel中进程的当前目录
- 4. 在当前正在运行的进程上执行操作
- 5. 运行PHP进程的当前活动
- 6. 正在运行的进程
- 7. 在winRT中检索当前进程的当前目录
- 8. 在当前用户下运行进程
- 9. 如何获取FreeBSD上当前进程的线程数?
- 10. 控制在球拍中执行子进程的“当前目录”
- 11. 如何暂停当前正在运行的进程
- 12. 得到当前正在运行的进程
- 13. NSIS - 在运行之前设置进程的工作目录
- 14. 获取正在运行的进程的目录路径ID
- 15. 在运行时暂停当前进程中的所有线程
- 16. 如何确定当前正在运行哪些进程
- 17. Python检查当前进程是否正在运行?
- 18. FreeBSD的守护进程库
- 19. 以编程方式更改进程的当前工作目录
- 20. 获取正在运行的进程给定的进程句柄
- 21. 从脚本当前目录中运行Python中的子进程bash脚本
- 22. 如何检测当前登录用户是否正在运行进程?
- 23. 正在运行的进程的Python REPL
- 24. 杀死一个bash进程不杀bash的当前运行的进程
- 25. 对所有正在运行的进程不显示进程MainWindowTitle
- 26. WSO2修改正在运行的进程
- 27. 正在运行的进程列表
- 28. 获取正在运行的进程'dimensions
- 29. 取消正在运行的进程
- 30. c#通知正在运行的进程
需要注意的是`/ proc`文件系统并不一定适用于FreeBSD的所有安装。 – 2009-07-21 10:47:27
这适用于Linux,但似乎不属于FreeBSD/proc的一部分。请参阅procfs手册页:http://www.freebsd.org/cgi/man.cgi?query=procfs – 2009-07-21 15:10:40