硬链接问题

OOPhaisky 2006-11-19 02:29:41
“unlink函数删除了path指定的目录项。如果文件的链接计数为0,而且没有进程打开这个文件,unlink就释放文件占据的空间。”

这句话引自《unix system programming》。
我的问题是:
如果文件的链接计数为0,还可能有进程正在打开这个文件么?
我认为不可能,因为如果有一个进程正在打开这个文件,那链接计数至少为1(即至少这个进程还引用这个inode)。
...全文
273 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
无知者无谓 2006-12-12
  • 打赏
  • 举报
回复
不可能啊,从原文的上下文可以知道,这个链接数不是指有多少进程打开它,因为上下文一直在讲inode的链接计数。
==============================================
great!那还有什么问题?如果一个文件的inode链接计数是0了,那么就是说这个文件不会被找到(inode就是一个索引点,Linux是通过它来索引文件的),这个文件还有存在的意义吗?
另外还有一点就是,Linux读文件是一次读入的,所以被打开的文件是可以被删除的,这个和Windows是不一样的,也许的你疑惑在这。
OOPhaisky 2006-11-20
  • 打赏
  • 举报
回复
to wzzww(无知者无畏)(我是你的)

也许是你把“连接”的概念弄错了呢?

连接数指的是有多少进程打开它吗?

-------------------------------------------------------------------------------
不可能啊,从原文的上下文可以知道,这个链接数不是指有多少进程打开它,因为上下文一直在讲inode的链接计数。
无知者无谓 2006-11-20
  • 打赏
  • 举报
回复
也许是你把“连接”的概念弄错了呢?

连接数指的是有多少进程打开它吗?
lei001 2006-11-19
  • 打赏
  • 举报
回复
应该是的,连接计数为0,不可能还有其他进程使用它的

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧