- 论坛徽章:
- 0
|
我们的应用程序需要通过readlink("/proc/self/exe", buf , sizeof(buf))来获取进程所执行程序的绝对路径;我在uClinux下用ls测试了一下,结果这个文件(/proc/self/exe)并没有指向符号链接:
# ls -l /proc/self/exe
lrwxrwxrwx 1 0 0 0 Jan 1 00:36 /proc/self/exels: /proc/self/exe: cannot read link (not a symlink?)
另外/proc/self/maps里也没有内容。
在我们的ARM9+linux下,这个符号链接是链向busybox的,(因为我们现在用的是busybox ls命令, ls本身也是个符号链接指向busybox):
>: ls -l /proc/self/exe
lrwxrwxrwx 1 root root 0 Sep 11 00:04 exe -> /bin/busybox
在PC上执行的时候ls的时候,/proc/self/exe是指向/bin/ls的:
[root@redhatvm Linux]# ls -l /proc/self/exe
lrwxrwxrwx 1 root root 0 May 20 14:26 /proc/self/exe -> /bin/ls
为什么在uClinux的/proc 文件系统中并没有符号链接呢?请问是busybox的问题还是uClinux 的proc文件系统的问题(我想应该是后者吧)?
有对proc文件系统比较熟悉的高手帮忙解决吗?谢谢! |
|