Відповіді:
Ця програма є ("Список відкритих файлів") .lsof
Якщо ви просто відкриєте термінал і введіть lsof
, ви отримаєте величезний список всіх відкритих файлів, натомість обмежте його однією командою, виконавши:
lsof -c gnome-terminal
Ви також можете обмежити пошук певним каталогом, ввівши
lsof -c gnome-terminal -a +D /tmp
Або перерахуйте всі відкриті файли в одному конкретному каталозі, включаючи те, що програма відкрила його:
lsof /dev/urandom
Пам'ятайте, що деякі процеси запускаються коренем суперрузера , можливо, вам знадобиться поставити sudo
перед вашою командою, щоб отримати більше інформації про відкриті файли таких процесів.
Щоб звузити пошук, ви можете вказати grep
конкретні рядки, тобто:
lsof /dev/urandom | grep chrome
У FD
стовпці («Дескриптор файлу») виводиться інформація про мету програми, що відкриває файл (не обов’язково, що з ним відбувається в даний момент):
r
означає, що файл відкритий для читання
w
означає, що файл відкритий для запису
u
означає, що файл відкрито як для читання, так і для запису
Для отримання більш детальної інформації зверніться до сторінки керівництва ( man lsof
). Крім того, якщо вам потрібно знайти будь-який з файлів і каталогів, дуже корисним є стандарт ієрархії файлової системи Linux .
Як повний варіант over-kill, але той, який працює в режимі реального часу, ви можете використовувати inotify:
sudo inotifywait -m -r /
Зауважте, що це потребує великої кількості пам’яті та потребує тривалого часу. Як говориться на сторінці сторінки:
-r, --recursive
Watch all subdirectories of any directories passed as arguments.
Watches will be set up recursively to an unlimited depth. Sym‐
bolic links are not traversed. Newly created subdirectories
will also be watched.
Warning: If you use this option while watching the root direc‐
tory of a large tree, it may take quite a while until all ino‐
tify watches are established, and events will not be received in
this time. Also, since one inotify watch will be established
per subdirectory, it is possible that the maximum amount of ino‐
tify watches per user will be reached. The default maximum is
8192; it can be increased by writing to /proc/sys/fs/ino‐
tify/max_user_watches.
Це також не говорить вам про те, який процес возиться з файлами, але це може допомогти визначити зміни в міру їх виникнення. Використання "-e open" може допомогти зменшити частину шуму в дійсно зайнятій системі.