当前位置: 技术问答>linux和unix
硬链接问题
来源: 互联网 发布时间:2015-12-29
本文导语: “unlink函数删除了path指定的目录项。如果文件的链接计数为0,而且没有进程打开这个文件,unlink就释放文件占据的空间。” 这句话引自《unix system programming》。 我的问题是: 如果文件的链接计数为0,还可能有进...
“unlink函数删除了path指定的目录项。如果文件的链接计数为0,而且没有进程打开这个文件,unlink就释放文件占据的空间。”
这句话引自《unix system programming》。
我的问题是:
如果文件的链接计数为0,还可能有进程正在打开这个文件么?
我认为不可能,因为如果有一个进程正在打开这个文件,那链接计数至少为1(即至少这个进程还引用这个inode)。
这句话引自《unix system programming》。
我的问题是:
如果文件的链接计数为0,还可能有进程正在打开这个文件么?
我认为不可能,因为如果有一个进程正在打开这个文件,那链接计数至少为1(即至少这个进程还引用这个inode)。
|
应该是的,连接计数为0,不可能还有其他进程使用它的
|
也许是你把“连接”的概念弄错了呢?
连接数指的是有多少进程打开它吗?
连接数指的是有多少进程打开它吗?
|
不可能啊,从原文的上下文可以知道,这个链接数不是指有多少进程打开它,因为上下文一直在讲inode的链接计数。
==============================================
great!那还有什么问题?如果一个文件的inode链接计数是0了,那么就是说这个文件不会被找到(inode就是一个索引点,Linux是通过它来索引文件的),这个文件还有存在的意义吗?
另外还有一点就是,Linux读文件是一次读入的,所以被打开的文件是可以被删除的,这个和Windows是不一样的,也许的你疑惑在这。
==============================================
great!那还有什么问题?如果一个文件的inode链接计数是0了,那么就是说这个文件不会被找到(inode就是一个索引点,Linux是通过它来索引文件的),这个文件还有存在的意义吗?
另外还有一点就是,Linux读文件是一次读入的,所以被打开的文件是可以被删除的,这个和Windows是不一样的,也许的你疑惑在这。