我有一个文件,我想跟踪正在访问文件的进程的所有pid。 C/C++中是否有可用的功能来执行此操作。只有当进程的PID位于预定义的pid列表中时,我才想授予对文件的访问权限。跟踪文件访问
Q
跟踪文件访问
2
A
回答
0
你在问什么是操作系统特定的任务,我很确定没有标准库存在。如果你幸运的话,可能会有第三方库为你做到这一点,但我不会屏住呼吸:)
如果你指定你想要做的操作系统和环境,机会会更好有人可能会为该平台提供详细的答复。
+0
抱歉没有指定平台。我的意思是在Ubuntu的Linux .. – nikhil 2011-01-31 11:19:14
2
在Linux上,您可以通过/proc/<pid>/fd/
内的链接调用readlink()
来查找进程打开的文件。要查找打开给定文件的所有进程,可以遍历/proc
中的每个PID
,查找相关文件。请注意,除非您是root用户,否则您通常无法查看由其他用户拥有的进程打开的文件。
无法限制对特定PID的访问 - PID在启动时分配给进程,并在进程退出后重新用于其他进程。文件权限基于进程的UID,GID和补充GID,而不是PID。
也许如果你描述你正在尝试做的更完整的(在一个新问题中),我们将能够为你提供帮助。
相关问题
- 1. 跨平台文件访问跟踪
- 2. JavaScript cookie,跟踪访问
- 3. 跟踪文件
- 4. 使用IIS和ASP.NET跟踪文件访问
- 5. 如何获取硬盘访问的跟踪文件?
- 6. 什么是GIT中的跟踪文件和未跟踪文件?
- 7. Google问题跟踪软件?
- 8. 问题/ bug跟踪软件
- 9. 在Delphi中跟踪访问冲突
- 10. Sitecore:跟踪上次访问的页面
- 11. JavaScript到PHP访问者跟踪器
- 12. 跟踪Facebook用户访问网站
- 13. 跟踪API访问的最快方法
- 14. 仅跟踪唯一身份访问者?
- 15. 跟踪访问计数的Cookie
- 16. 跟踪访问者以帮助支持
- 17. 跟踪访问/来源asp.net mvc网站
- 18. git clean只跟踪文件
- 19. Git没有跟踪文件
- 20. 解析ns2跟踪文件
- 21. 在AWS中跟踪文件
- 22. 跟踪文件下载
- 23. TextWriterTraceListener跟踪文件太大
- 24. 事件跟踪
- 25. 软件跟踪
- 26. Laravel:访客跟踪器
- 27. 跟踪访客JS错误?
- 28. 如何在jboss中写入跟踪以分离跟踪文件
- 29. 跟踪的文件被标记为未跟踪
- 30. 将跟踪的文件移动到未跟踪的git
什么操作系统?什么操作系统分配静态进程ID可以引用(或者你是否使用某种进程冷冻机)? – 2011-01-31 08:12:40