终端为什么可以自行卸载?

终端为什么可以自行卸载?

截屏

怎么apt-get remove xterm运行的?卸载后xterm不会关闭,继续正常运行。

xterm进程在运行时是否缓存在 RAM 中?

答案1

不完全是。文件已被程序打开。删除文件(然后用另一个版本替换它)不会影响正在运行的程序,因为原始文件保持打开状态(尽管磁盘上没有名称可以再次打开它),直到程序完成对它的操作。只有当文件的所有句柄都关闭时,才会释放磁盘上的数据块。在此之前,可以像平常一样读取和写入打开的文件——唯一的变化是,由于其名称已被删除,因此没有其他人可以打开它。

尽管在删除程序时其部分内容可能已被读入 RAM,但它们仍可能会被丢弃并在稍后重新读取,或者仍可以从已删除的文件中加载以前未执行的程序的新部分。

答案2

xterm进程在运行时是否缓存在 RAM 中?

没错。这类似于在程序运行时安装更新而不会导致程序崩溃的过程。这也是为什么更新服务后必须重新启动的原因。一旦程序运行,其二进制文件就会保存在内存中。

如果它依赖于被删除或替换的其他文件(未处于“打开”状态),则可能会导致问题,但对于像这样离散的东西来说xterm,这不是问题。

答案3

这实际上是计算机工作方式的一个特点:当调用一个程序时,它确实会被加载到内存中并从那里开始运行。

文件实际上也是以同样的方式工作的。为了避免出现问题,UNIX 系统中的许多文件都会创建锁。

真正的谜题是为什么你不能在 Windows 中做这样的事情。

此功能实际上允许您更新整个系统,包括系统中活动的应用程序。;)

相关内容