2

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

  1. Откуда запускается исполняемый файл / скрипт? Оперативная память?
  2. Если хранится в оперативной памяти или где-либо еще, есть ли способ извлечь исполняемый файл / скрипт из этого места?

Если это имеет какое-то значение, я использую Ubuntu 11.04.

1 ответ1

5

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

Как сказал Пит, файл должен быть доступен в записи /proc /[pid] /fd для любого процесса, для которого есть открытый дескриптор файла.

lsof также может показать вам, какие процессы все еще имеют дескриптор, открытый для рассматриваемого файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .