Узнать, какой процесс имеет открытые данные на жестком диске, которые больше не видны в дереве каталогов [дубликат]

0
01.01.2019, 17:05
2 ответа

Есть две возможности:

1. Удаленные файлы все еще открыты некоторыми процессами

Вы можете просмотреть все открытые файлы с помощью lsof.Например, это ТИПЫ, показанные в lsof, и как часто они появляются в выводе :

.
# lsof|cut -c50-54|sort|uniq -c
 375  CHR 
 610  DIR 
 211 FIFO 
  32 IPv4 
  17 IPv6 
  40 link 
 419 node 
 152 nown 
6008  REG 
   9 sock 
 598 unix 

Здесь показан только столбец дескриптора файла (FD):

# lsof|awk -v field="FD" 'NR==1 {c = index($0,field)} {print substr($0,c-1,length(field)+4)}'|sort|uniq -c|sort -n|tail

найдите файлы со значением DELв выводе lsof, чтобы получить подсказку.


2. Файлы скрыты за точкой монтирования

Но более вероятно, что файлы просто "спрятаны" из-за точки монтирования, которая не использовалась, пока большое количество файлов хранилось в папке монтирования -и теперь они невидимы для ncdu.

смонтировать корневой каталог в другом месте и проанализировать его:

mkdir /temp-root
mount --bind / /temp-root
ncdu -x /temp_root
0
28.01.2020, 02:41

Если ваше подозрение верно, вам может быть легче с lsof .

Ищите «(удалено )» или подобное в выводе.

1
28.01.2020, 02:41

Теги

Похожие вопросы