Donnerstag, 27. März 2008

Linux

Nerviges umount: device is busy besiegen

Mit umount hängt man Laufwerke unter Linux aus. Ungeschickt wirds, wenn irgendein Programm noch auf das Laufwerk zugreift und man nicht weiss welches - passiert mir beispielsweise öfters. Beim Aushängen schlägt dann umount mit der Meldung: umount: device is busy - fehl. Aber kein Problem, es gibt eine Lösung.

Lösung zu umount: device is busy

Um rauszufinden, welches Programm das Aushängen blockiert, kann man das Programm lsof benutzen. Dieses Programm ist ziemlich mächtig und hat viele Einsatzmöglichkeiten, ich will hier aber mich auf die Lösung zum "device is busy" Problem beschränken.

Richtiges Device heraussuchen

Als ersters muss man herausfinden welches Device der Mountpoint benutzt. Beispielsweise ist das Laufwerk unter /media/USB-Stick gemountet. Wenn man jetzt auf der Konsole den Befehl mount eingibt, könnte man eine ähnliche Ausgabe wie diese erhalten:

Download Code!

  1.  
  2. /dev/sda2 on / type ext3 (rw,errors=remount-ro)
  3. securityfs on /sys/kernel/security type securityfs (rw)
  4. binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
  5. /dev/sdf1 on /media/USB-Stick type vfat (rw,nosuid,nodev,noatime,flush,uid=1000,utf8,shortname=lower)
  6.  

Blockierendes Programm anzeigen - Programmid ermitteln

In der letzten Zeile steht unser gemouteter USB-Stick. Dieser Stick hat das Device /dev/sdf1 - den lsof-Befehl muss man demnach auf dieses Device anwenden:

Download Code!

  1.  
  2. lsof /dev/sdf1
  3.  

Danach bekommt könnte man eine solche Ausgabe präsentiert bekommen:

Download Code!

  1.  
  2. java      26213 mrfoo   41r   REG   8,81   85503 26465 /media/USB-Stick/freemind-bin-max-0_8_0/lib/forms-1.0.5.jar
  3.  

Programm beenden oder Prozess killen

In der letzten Zeile steht der Pfad zum Programm welcher den umount Befehl blockiert. Dieses kann man jetzt normalerweise beenden - wenn man das Programm erkennt. Wenn nicht - in zweiten Zeile steht die Prozessid. Diese kann mit dem kill-Befehl das Programm abschiessen:

Download Code!

  1.  
  2. kill 26213
  3.  

Hinweis zum kill-Befehl

Das Programm wird beendet ohne Rücksicht auf eventuell geöffnete Dokumente. Es wird nichts gespeichert - also mit Vorsicht verwenden.

Bewertung: 4.67 von 5, 3 Stimme(n) 11935 Klicks
Linux
Von Mr.Foo in Linux am 27.03.08@09:39 Uhr

Trackbacks
Trackback für spezifische URI dieses Eintrags

Keine Trackbacks

10 Kommentare
Ansicht der Kommentare: (Linear | Verschachtelt)

prodigy7 - #1 - 27.03.2008 11:38 - (Antwort)

Geht auch anders ...

fuser -vu /mountpoint

gibt die Prozess ID aus, die noch zugreift.

Anonym - #2 - 04.04.2008 14:26 - (Antwort)

kill stellt dem Prozess ein Signal zu. Der
Prozess kann sehr wohl die Datei speichern bzw. schliessen. Ein vernünftiges Programm unter Unix tut dieses auch.

"kill -9" ist kritisch, da ein Prozess hier keine Chance hat.

marco - #3 - 31.08.2008 12:35 - (Antwort)

Hallo zusammen

ich wollt nur sagen top beitrag hat mir sehr geholfen bei mir war es beagle der device is busy verursacht hat und bei jedem neustart ein file system check meiner festplatte ausgeführt wurde

mfg

marco

para - #4 - 09.01.2009 13:50 - (Antwort)

Sehr gut! Hat funktioniert :-)

mugge - #5 - 05.05.2009 13:59 - (Antwort)

Moin,

das ist ja alles fein und gut, wenn der mount-point stated werden kann.
Was tun, wenn man z.B. ein fremdes Samba-Share angemounted hat und der remote Server nicht mehr verfügbar ist und mount einen "type fuse" ausgibt?

Dann kommt als Ergebnis statt der prozess-ID nur ein "Input/output error"...

Jede Idee willkommen!

Thx!

MUGGE

Mr. Foo - #5.1 - 05.05.2009 19:41 - (Antwort)

Wenn der Mountpoint unter /etc/fstab eingetragen ist, würde ich ihn einfach mal auskommentieren.

Und dann, vielleicht etwas unortodox für Linux, neustarten - so müsste es aufjedenfall klappen.

mugge - #5.1.1 - 05.05.2009 21:11 - (Antwort)

Hab eben bissl recherchiert und die Option -l (Lazy unmount, ab Kernel 2.4.11) probiert, damit hat's gefunzt...

slowfox - #5.1.1.1 - 19.09.2010 11:20 - (Antwort)

Hallo umount -l hat mir sehr geholfen! :-)
Vielen Dank!

eli - #6 - 11.12.2009 12:07 - (Antwort)

Hallo,

noch jemand da? Habe ebenfalls ein unmount Problem.
Wenn ich die Sticks abwechselnd ohne zu unmounten anstecke, Mounten sie sich doppelt und zählen die sd* aufwärts.
/dev/sdb1 on /mnt/Usb-Stick1
/dev/sdc1 on /mnt/Usb-Stick1

Gibt es eine Möglichkeit wenn man den Stick rauszieht in einen Skript die Devices zurück zusetzten? Oder nochmal den Befehl umount /mnt/Usb-Stick1 anzuweisen, oder das per Hand machen zu müssen...

Liebe Grüße

Loaden - #7 - 21.02.2010 18:15 - (Antwort)

Ebenso ist es möglich mit einem "lazy umount" den Datenträger auszuhängen. Mehr dazu hier: http://www.monkey-business.biz/484/linux-umount-device-is-busy/


Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden
 
 

Mr. Foo

Nerviges umount: device is busy besiegen

  • Homepage

Suche

Kategorien

  • C-Sharp (4)
  • Datenbank (28)
  • Delphi (2)
  • Entwicklung (36)
  • Flash (5)
  • Games (10)
  • Gutscheine (4)
  • Hardware (14)
  • HTML CSS (15)
  • Internet (87)
  • Java (32)
  • Javascript (24)
  • Linkdump (9)
  • Linux (96)
  • Low-Level (10)
  • Lua (8)
  • Musik (9)
  • Netzwerk (25)
  • New World Order (109)
  • Perl (3)
  • PHP (123)
  • Magento (5)
  • Symfony (3)
  • Zend Framework (7)
  • Probleme und Lösungen (26)
  • Python (22)
  • Ressourcen (23)
  • Sicherheit (91)
  • Software (58)
  • Sonstiges (45)
  • Own Stuff (46)
  • Spass (45)
  • Technik / Wissenschaft (4)
  • Tips (15)
  • Weisheiten (16)
  • Windows (23)
  • Wort des Tages (15)


Alle Kategorien

Archive

  • Februar 2012
  • Januar 2012
  • Dezember 2011
  • Das Neueste ...
  • Älteres ...

Abonnieren lohnt sich!

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Kommentare

Tagcloud

Datenbank Entwicklung Internet Java Javascript Linux Lösung Netzwerk News New World Order PHP Problem Probleme und Lösungen Sicherheit Software Sonstiges Spass Tipp Update Windows

Beliebte Einträge

  • Magento ist scheisse (188)
  • Plugin-container.exe deaktivieren (101)
  • C compiler cannot create executables unter Debian (53)
  • BWin Betrug und Abzocke bei Minigames? (49)
  • Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert) (41)
  • Sicheres Kontaktformular mit PHP - Spam verhindern (37)
  • Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden (26)
  • UML-Diagramme aus Java-Klassen generieren – Java2UML (25)
  • Option Bug im Internet Explorer bei Nutzung von innerHTML und Javascript (24)
  • Zend Studio - Javaw.exe lastet die CPU aus (24)

Kommentare

sandi zu Plugin-container.exe deaktivieren
Mo, 06.02.2012 11:10
Leider hat es nicht geklappt. Jetz [...]
Frank zu Magento ist scheisse
So, 05.02.2012 21:58
Seit etwa 6 Monaten bin ich auf de [...]
hansie zu Canon Blink Codes
Sa, 04.02.2012 19:49
Hallo, mein Canon Drucker MP 630 [...]
Bachsau zu Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert)
Mi, 01.02.2012 22:54
Bei Linux machen die Kernel-Entwic [...]
Mr. Foo zu Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert)
Mi, 01.02.2012 21:47
Also so kurz mal probiert hab ich [...]
 

Kontakt/Informationen