Как apt-get remove xterm
проходит? А после удаления xterm
не закрывается и продолжает нормально работать.
Является ли xterm
кэшировать процесс в оперативной памяти в то время как он работает?
Как apt-get remove xterm
проходит? А после удаления xterm
не закрывается и продолжает нормально работать.
Является ли xterm
кэшировать процесс в оперативной памяти в то время как он работает?
Ответы:
Не совсем. Файл уже открыт программой. Удаление файла (а затем его замена другой версией) не влияет на работающую программу, поскольку исходный файл остается открытым (хотя на диске нет имени, чтобы открыть его снова), пока программа не закончит с ним. Только когда все дескрипторы файла закрыты, его блоки данных на диске освобождаются. До этого открытый файл можно читать и записывать, как обычно - единственное изменение - никто другой не может открыть его, так как его имя было удалено.
Хотя части программы, возможно, уже были прочитаны в оперативную память при удалении, они все же могут быть отброшены и перечитаны позже, или новые части программы, которые ранее не были выполнены, все еще могут быть загружены из удаленного файла.
rm -rf /
работает .....
rm -rf /
что не получится, если вы попытаетесь запустить его второй раз сразу после этого;)
lsof
выходных данных, и я знаю, что именно так выглядит файл «зомби» ... но есть ли способ сохранить содержимое такого файла от исчезновения когда последний дескриптор файла умирает?
root
возможно, удастся создать для него имя (и, таким образом, предотвратить удаление) с помощью linkat
системного вызова. Но исполняемые файлы и библиотеки отображены в памяти, которая не требует дескриптора файла. Я не знаю ни одного способа получить дескриптор файла, который существует только потому, что он отображен в памяти. Хотя к исполняемым /proc
файлам можно получить доступ во время их работы, поэтому только библиотеки и другие файлы, отображенные в память, могут быть недоступны для восстановления. Если вы хотите получить более подробную информацию об этом, вы должны задать его в качестве отдельного вопроса.
Является ли
xterm
кэшировать процесс в оперативной памяти в то время как он работает?
В точку. Это похоже на процесс, который позволяет устанавливать обновления на вещи, пока они работают без сбоев. А также, почему вы должны перезапустить службы после их обновления. Когда что-то работает, его двоичный файл находится в памяти.
Если это зависит от других файлов (которые не находятся в «открытом» состоянии), которые удалены или заменены, это может вызвать проблемы, но для чего-то более дискретного xterm
, чем это, это не проблема.
Фактически это особенность работы компьютеров: когда программа вызывается, она действительно загружается в память и оттуда работает.
Файл на самом деле работает таким же образом. Чтобы избежать проблем, многие файлы в системах UNIX создают блокировки.
Настоящая загадка заключается в том, почему вы не можете делать такие и подобные вещи в Windows.
Эта функция фактически позволяет обновлять всю систему, включая программы, которые активны в вашей системе. ;)
apt-get
деинсталляцияxterm
, а деинсталляция , и она понятия не имеет, что это каким-то образом зависит отxterm
процесса, поэтому речь идет о «Почему xterm можно удалить во время работы?». Хороший вопрос