Dateien öffnen
Prozesse mit geöffneten Dateien sind die üblichen Schuldigen. Zeigen Sie sie an:
lsof +f -- <mountpoint or device>
Die Verwendung ist vorteilhafter /dev/<device>
als /mountpoint
: Ein Mountpunkt verschwindet nach einem umount -l
oder wird möglicherweise von einem überlagerten Mount ausgeblendet.
fuser
kann auch verwendet werden, hat aber meiner Meinung lsof
nach eine nützlichere Ausgabe. Dies fuser
ist jedoch nützlich, wenn es darum geht, die Prozesse zu beenden, die Ihre Dramen verursachen, damit Sie mit Ihrem Leben weitermachen können.
Listen Sie die Dateien auf <mountpoint>
(siehe Einschränkung oben):
fuser -vmM <mountpoint>
Beenden Sie interaktiv nur Prozesse mit Dateien, die zum Schreiben geöffnet sind:
fuser -vmMkiw <mountpoint>
Nach dem erneuten Bereitstellen von schreibgeschützt ( mount -o remount,ro <mountpoint>
) ist es sicher (r), alle verbleibenden Prozesse abzubrechen:
fuser -vmMk <mountpoint>
Mountpoints
Der Schuldige kann der Kernel selbst sein. Ein anderes Dateisystem, das auf dem Dateisystem installiert ist, das Sie versuchen, umount
verursacht Kummer. Überprüfen Sie mit:
mount | grep <mountpoint>/
Überprüfen Sie für Loopback-Halterungen auch die Ausgabe von:
losetup -la
Anonyme Inodes (Linux)
Anonyme Inodes können erstellt werden durch:
- Temporäre Dateien (
open
mit O_TMPFILE
)
- Uhren inotifizieren
- [eventfd]
- [eventpoll]
- [timerfd]
Dies sind die schwer fassbarsten Pokemon-Typen und werden in lsof
der TYPE
Spalte als angezeigt a_inode
(was in der lsof
Manpage nicht dokumentiert ist ).
Sie werden nicht in angezeigt lsof +f -- /dev/<device>
, daher müssen Sie:
lsof | grep a_inode
Informationen zum Beenden von Prozessen mit anonymen Inodes finden Sie unter: Liste der aktuellen inotify-Uhren (Pfadname, PID) .