当前位置: 技术问答>linux和unix
如何知道一个进程打开了哪些文件?
来源: 互联网 发布时间:2014-12-03
本文导语: 请教高手,在SCO UNIX下如何知道某个进程打开了哪些文件? | 可以用strace | 在系统中用 man strace 命令,有详细的说明。 另外http://www.linuxaid.com.cn/support/showfom.jsp?i=1303也...
请教高手,在SCO UNIX下如何知道某个进程打开了哪些文件?
|
可以用strace
|
在系统中用 man strace 命令,有详细的说明。
另外http://www.linuxaid.com.cn/support/showfom.jsp?i=1303也提到了它的一点用法!
另外http://www.linuxaid.com.cn/support/showfom.jsp?i=1303也提到了它的一点用法!
|
到
/proc/进程号/fd
目录下去看
/proc/进程号/fd
目录下去看
|
在知道该进程ID号的情况下,查看 /proc/进程号/fd下,可以看到打开的文件
|
SCO UNIX下可以用trace
|
strace -o trace.out ls
生成的trace.out就是ls所执行的文件列表。
生成的trace.out就是ls所执行的文件列表。
|
谢谢,我真还不知道,呀哈,谢谢
|
查进程表项里都有哪些指向文件表项的指针,再由这些文件表项的指针找到inode.
涉及到内核,不过查到都是货真价实的东西.别问我具体实现,我不太清楚,但我说的方法肯定行.
涉及到内核,不过查到都是货真价实的东西.别问我具体实现,我不太清楚,但我说的方法肯定行.
|
在你有权限的前提下
strings /proc/[0-9]*/fd
strings /proc/[0-9]*/fd
|
linux_can_dance(linuxer)说的在任何unix系统下都可以实现,只是要编程罢了.