strace报告错误的相对路径?


0

strace用于报告openchdir系统调用,其输出的片段是:

6791  chdir("//etc")                    = 0
6791  open("etc/fstab", O_RDONLY)       = 3

这没有意义。首先我们进入/etc目录,然后同一个进程尝试etc/fstab从那里打开相关文件。呼叫成功,但没有这样的文件/etc/etc/fstab。只有文件/etc/fstab

strace为什么报告etc/fstab而不/etc/fstab应该报告?

Answers:


0

好吧......显然POSIX允许在路径名中使用前导双斜杠这样的东西。这意味着,不是人们想象的根目录,而是依赖于实现。我想在这种情况下//etc真的是一样的/。我知道这很疯狂,但这是我唯一能想到的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.