Почему терминал может удалить себя сам?

Почему терминал может удалить себя сам?

Скриншот

Как apt-get remove xtermпроходит? И после удаления xtermне закрывается и продолжает нормально работать.

Кэшируется ли xtermпроцесс в оперативной памяти во время его выполнения?

решение1

Не совсем. Файл уже открыт программой. Удаление файла (и его последующая замена другой версией) не влияет на запущенную программу, поскольку исходный файл остается открытым (хотя и без имени на диске, чтобы открыть его снова), пока программа не закончит работу с ним. Только когда все дескрипторы файла закрыты, его блоки данных на диске освобождаются. До тех пор открытый файл можно читать и записывать как обычно — единственное изменение заключается в том, что никто другой не может его открыть, поскольку его имя было удалено.

Хотя части программы уже могли быть считаны в оперативную память на момент ее удаления, их все равно можно удалить и перечитать позже, или новые части программы, которые ранее не выполнялись, все еще могут быть загружены из удаленного файла.

решение2

Кэшируется ли xtermпроцесс в оперативной памяти во время его выполнения?

Точно. Это похоже на процесс, который позволяет вам устанавливать обновления для вещей, пока они работают, без их сбоев. И также почему вам приходится перезапускать службы после их обновления. Когда что-то работает, его двоичный файл находится в памяти.

Если он зависит от других файлов (которые не находятся в состоянии «открыто»), которые удаляются или заменяются, это может вызвать проблемы, но для чего-то столь дискретного, как xterm, это не проблема.

решение3

На самом деле это особенность работы компьютеров: когда программа вызывается, она действительно загружается в память и работает оттуда.

Файл на самом деле работает так же. Чтобы избежать проблем, многие файлы в UNIX-ish системах создают блокировки.

Настоящая загадка заключается в том, почему вы не можете делать такие и подобные вещи в Windows.

Эта функция на самом деле позволяет вам обновлять всю систему, включая программы, которые активны в вашей системе. ;)

Связанный контент