如何知道文件在Android NDK中被访问的确切位置
使用“lsof”,我可以检查打开的文件列表是否有任何命令或任何其他方式可以检测文件的访问位置。 “lsof”命令的输出如下:-如何知道文件在Android NDK中被访问的确切位置,android,linux,linux-kernel,ls,proc,Android,Linux,Linux Kernel,Ls,Proc,使用“lsof”,我可以检查打开的文件列表是否有任何命令或任何其他方式可以检测文件的访问位置。 “lsof”命令的输出如下:- COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 ??? cwd ??? ??? ??? ??? /proc/1/cwd (rea
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 ??? cwd ??? ??? ??? ??? /proc/1/cwd (readlink: Permission denied)
init 1 ??? exe ??? ??? ??? ??? /proc/1/exe (readlink: Permission denied)
init 1 ??? root ??? ??? ??? ??? /proc/1/root (readlink: Permission denied)
init 1 ??? FDS /proc/1/fd/ (opendir: Permission denied)
init 2 ??? cwd ??? ??? ??? ??? /proc/2/cwd (readlink: Permission denied)
init 2 ??? exe ??? ??? ??? ??? /proc/2/exe (readlink: Permission denied)
init 2 ??? root ??? ??? ??? ??? /proc/2/root (readlink: Permission denied)
init 2 ??? FDS /proc/2/fd/ (opendir: Permission denied)
init 3 ??? cwd ??? ??? ??? ??? /proc/3/cwd (readlink: Permission denied)
init 3 ??? exe ??? ??? ??? ??? /proc/3/exe (readlink: Permission denied)
init 3 ??? root ??? ??? ??? ??? /proc/3/root (readlink: Permission denied)
init 3 ??? FDS /proc/3/fd/ (opendir: Permission denied)
init 4 ??? cwd ??? ??? ??? ??? /proc/4/cwd (readlink: Permission denied)
init 4 ??? exe ??? ??? ??? ??? /proc/4/exe (readlink: Permission denied)
init 4 ??? root ??? ??? ??? ??? /proc/4/root (readlink: Permission denied)
init 4 ??? FDS /proc/4/fd/ (opendir: Permission denied)
init 5 ??? cwd ??? ??? ??? ??? /proc/5/cwd (readlink: Permission denied)
init 5 ??? exe ??? ??? ??? ??? /proc/5/exe (readlink: Permission denied)
init 5 ??? root ??? ??? ??? ??? /proc/5/root (readlink: Permission denied)
init 5 ??? FDS /proc/5/fd/ (opendir: Permission denied)
init 6 ??? cwd ??? ??? ??? ??? /proc/6/cwd (readlink: Permission denied)
init 6 ??? exe ??? ??? ??? ??? /proc/6/exe (readlink: Permission denied)
init 6 ??? root ??? ??? ??? ??? /proc/6/root (readlink: Permission denied)
init 6 ??? FDS /proc/6/fd/ (opendir: Permission denied)
init 7 ??? cwd ??? ??? ??? ??? /proc/7/cwd (readlink: Permission denied)
init 7 ??? exe ??? ??? ??? ??? /proc/7/exe (readlink: Permission denied)
init 7 ??? root ??? ??? ??? ??? /proc/7/root (readlink: Permission denied)
init 7 ??? FDS /proc/7/fd/ (opendir: Permission denied)
init 8 ??? cwd ??? ??? ??? ??? /proc/8/cwd (readlink: Permission denied)
init 8 ??? exe ??? ??? ??? ??? /proc/8/exe (readlink: Permission denied)
init 8 ??? root ??? ??? ??? ??? /proc/8/root (readlink: Permission denied)
init 8 ??? FDS /proc/8/fd/ (opendir: Permission denied)
init 9 ??? cwd ??? ??? ??? ??? /proc/9/cwd (readlink: Permission denied)
init 9 ??? exe ??? ??? ??? ??? /proc/9/exe (readlink: Permission denied)
init 9 ??? root ??? ??? ??? ??? /proc/9/root (readlink: Permission denied)
init 9 ??? FDS /proc/9/fd/ (opendir: Permission denied)
init 10 ??? cwd ??? ??? ??? ??? /proc/10/cwd (readlink: Permission denied)
对于每个pid,我得到三个位置,如pid“9”,我得到以下位置:-
“/proc/1/cwd(readlink:Permission denied)”、“/proc/9/exe”、“/proc/9/fd/(opendir:Permission denied)”
现在,我如何知道正在使用哪个文件?
我是个新手,所以我知道的还不够多。任何建议都会对你有很大帮助。试试fuser。
它用于标识使用文件或套接字的进程 先生,当我运行“fsuer”时,它显示“找不到”我认为fuser需要root权限我没有root权限请确保您运行的是“fuser”而不是第一条评论中提到的“fsuer”。如果它说“找不到”,你必须安装它。如果它需要根权限,它会明确指出它需要根权限,而不是说“找不到”。你正在开发什么发行版?你知道如何在“android ndk”中安装“fuser”吗?除了“fuser”还有其他方法吗?…我搜索了一下,但没有找到任何安装fuser的链接。如果有一种方法可以在android ndk环境中使用lsof,fuser也很有可能以类似的方式使用。安卓ndk专家可能会提供帮助。。