我需要使用通过getFileDescriptor()返回的文件描述符来获取文件的绝对路径。 如何实现呢?
我需要使用通过getFileDescriptor()返回的文件描述符来获取文件的绝对路径。 如何实现呢?
/proc/[processid]/fd
中,每个文件描述符都会有一个条目作为符号链接到文件描述符的目标,不仅适用于普通文件,还适用于许多其他可能的目标,如管道和套接字。以下是在Android设备上运行cat > /mnt/sdcard/foo
进程的部分示例。$ ls -l /proc/3528/fd
lrwx------ shell shell 2013-06-06 10:31 0 -> /dev/pts/1
l-wx------ shell shell 2013-06-06 10:31 1 -> /mnt/sdcard/foo
lrwx------ shell shell 2013-06-06 10:31 2 -> /dev/pts/1
lrwx------ shell shell 2013-06-06 10:31 6 -> socket:[188850]
lsof
的工具,可以遍历这些目录以获取所有进程并输出打开文件的列表 - 但是,在Android上使用每个应用程序用户ID将限制此类遍历的使用。 但是,您仍然可以查找属于您自己的应用程序或在相同用户ID下运行的任何其他进程的fd。