Senior
48
Файл жойылған болса да, дескриптор ашық болса, процесс қайда жазады? Мазмұнын көруге бола ма?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Если файл удалён из файловой системы, но процесс всё ещё держит открытый дескриптор на этот файл, то процесс продолжит писать данные в inode этого файла. Файл физически не отображается в каталоге, но данные сохраняются на диске, пока дескриптор открыт.
Это связано с тем, что в Unix-подобных системах удаление файла (unlink) удаляет ссылку на файл из каталога, но сам файл удаляется только тогда, когда количество ссылок и открытых дескрипторов становится нулём.
Чтобы посмотреть содержимое такого "удалённого" файла, можно:
- Найти дескриптор процесса, который держит файл открытым, например, через
/proc/<pid>/fd/. - Перейти в каталог
/proc/<pid>/fd/и посмотреть символическую ссылку на дескриптор, например/proc/<pid>/fd/3. - Считать содержимое через этот дескриптор, например,
cat /proc/<pid>/fd/3.
Таким образом, даже если файл удалён из каталога, его содержимое доступно через открытый дескриптор до закрытия файла процессом.