分页: 1 / 1

为什么正在运行的程序都可以删除的?

发表于 : 2008-08-26 17:25
crossie

代码: 全选

int main()
{
     while(1){;}
     return 0;
}

运行上面的程序的时候,还可以rm它
为什么啊?

发表于 : 2008-08-26 17:28
yaoms
没加锁

发表于 : 2008-08-26 17:35
JangMunho
第一,运行的程序在内存里。
第二,同楼上。

发表于 : 2008-08-26 17:37
look1
据说 ubuntu 运行的时候甚至可以把系统里的所有文件都删光的,楼主可以试验下

发表于 : 2008-08-26 17:41
BigSnake.NET
没有删除,只是 unlink 了。

发表于 : 2008-08-26 18:22
lchunghan
look1 写了:据说 ubuntu 运行的时候甚至可以把系统里的所有文件都删光的,楼主可以试验下
原來斑斑兔這麽強大阿 !

发表于 : 2008-08-26 18:48
command
并没有真正删除,程序运行完了才会删除,因为要删除的文件的连接数不为0。

发表于 : 2008-08-26 19:21
JangMunho
BigSnake.NET 写了:没有删除,只是 unlink 了。
也就是说,在内存上会有指向硬盘文件的一个硬链接,是这样吗?

发表于 : 2008-08-26 19:31
BigSnake.NET
JangMunho 写了:
BigSnake.NET 写了:没有删除,只是 unlink 了。
也就是说,在内存上会有指向硬盘文件的一个硬链接,是这样吗?
可以这样理解吧

发表于 : 2008-08-26 21:44
自由建客
unlink 到0也就是删了

发表于 : 2008-08-26 22:02
想入非非
look1 写了:据说 ubuntu 运行的时候甚至可以把系统里的所有文件都删光的,楼主可以试验下
这个很强大,不过好像只有少部分的linux版本支持吧。。。

发表于 : 2008-08-27 9:42
crossie
JangMunho 写了:第一,运行的程序在内存里。
第二,同楼上。
和windows大不相同喔......
windows下有"内存映射文件"这个概念

发表于 : 2008-08-27 11:03
自由建客
和windows大不相同喔......
windows下有"内存映射文件"这个概念
Linux也有此概念,mmap

发表于 : 2008-08-27 11:05
bones7456