Das Problem ist unter Linux- und UNIX-Benutzern altbekannt: Irgendein Prozess blockiert mal wieder das DVD-Laufwerk, den USB-Stick oder sonst ein Medium, welches man gerade unmounten möchte, und sabotiert den Versuch mit einer Meldung wie umount: /media/cdrom0: device is busy.
Klassischerweise greift man hier zum Befehl fuser:
fuser -m /dev/sr0
beispielsweise sucht Anwendungen, die auf das das CD-ROM-Laufwerk /dev/sr0 zugreifen (-m nicht vergessen, sonst werden nur Anwendungen gefunden, die genau diese Datei geöffnet haben; die Option bewirkt, dass auch der Mountpunkt inklusive allen Unterverzeichnissen überprüft wird). Hier haben wir einen Schuldigen gefunden:
/dev/sr0: 5841
Der Prozeß mit der Nummer 5841 blockiert also unser Laufwerk.
Deutlich komfortabler ist der Befehl lsof:
lsof /dev/sr0
liefert uns standardmäßig gleich ein paar mehr Infos:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dosbox 5841 ignaz 14r REG 11,0 50942045 1371 /media/cdrom0/ressci.001 dosbox 5841 ignaz 16r REG 11,0 18623497 1368 /media/cdrom0/resource.sfx dosbox 5841 ignaz 17r REG 11,0 23470911 1365 /media/cdrom0/resource.aud
Jetzt wissen wir, dass der schuldige Prozess das Programm dosbox ist, ohne erst in der Prozessliste nachschauen zu müssen, und sehen ganz nebenbei auch gleich die fraglichen Dateien, die das Laufwerk blockieren.
Sowohl fuser als auch lsof beziehen ihre Daten aus dem /proc-Dateisystem, wir können hier also auch selbst einen Blick riskieren:
ls -l /proc/5841/fd
zeigt uns die Liste der von DOSBox geöffneten Dateien - hier finden wir auch unsere drei Dateien von eben wieder.
lrwx------ 1 ignaz users 64 2010-09-11 16:38 0 -> /dev/pts/1 lrwx------ 1 ignaz users 64 2010-09-11 16:38 1 -> /dev/pts/1 lrwx------ 1 ignaz users 64 2010-09-11 16:38 10 -> /dev/nvidia1 l-wx------ 1 ignaz users 64 2010-09-11 16:38 11 -> /dev/sequencer lrwx------ 1 ignaz users 64 2010-09-11 16:38 12 -> /dev/snd/pcmC0D0p lr-x------ 1 ignaz users 64 2010-09-11 16:38 13 -> /dev/input/event5 lr-x------ 1 ignaz users 64 2010-09-11 16:38 14 -> /media/cdrom0/ressci.001 lr-x------ 1 ignaz users 64 2010-09-11 16:38 15 -> /home/ignaz/c/SIERRA/GK2DOS/RESSCI.PAT lr-x------ 1 ignaz users 64 2010-09-11 16:38 16 -> /media/cdrom0/resource.sfx lr-x------ 1 ignaz users 64 2010-09-11 16:38 17 -> /media/cdrom0/resource.aud lrwx------ 1 ignaz users 64 2010-09-11 16:38 2 -> /dev/pts/1 lrwx------ 1 ignaz users 64 2010-09-11 16:38 3 -> socket:[45729] lrwx------ 1 ignaz users 64 2010-09-11 16:38 4 -> socket:[45731] lrwx------ 1 ignaz users 64 2010-09-11 16:38 5 -> /dev/nvidiactl lrwx------ 1 ignaz users 64 2010-09-11 16:38 6 -> /dev/nvidia1 lrwx------ 1 ignaz users 64 2010-09-11 16:38 7 -> /dev/nvidia1 lrwx------ 1 ignaz users 64 2010-09-11 16:38 8 -> /dev/nvidia0 lrwx------ 1 ignaz users 64 2010-09-11 16:38 9 -> /dev/nvidia1