Smontare un device anche se linux dice che e’ occupato.
Non si tratta di forzare il dismount, cosa che potrebbe portare a corruzione di file e filesystem, ma di capire quale programma / processo blocca una chiavetta o un disco usb o di rete e impedisce un umount.
con il comando
fuser -m /dev/device da smontare
abbiamo come risposta
/dev/device da smontare:5363
dove 5363 e’ il numero del processo che blocca il mio device.
ps auxw | grep 5363
dice chi e’ che lo blocca
1000 5363 0.0 0.0 4164 1396 pts/1 S+ 22:50 0:00 vi myfile
Ops, avevo lasciato vi con un file aperto sul device, una volta chiuso il mio file il device sarà smontabile senza problemi.
Fico, non lo conoscevo questo comando. Grazie per la dritta
PS: A me risulta una cosa del genere:
/dev/video: 12993m
Quell’m da dove sbuca? E’ normale?
Figo (x2) avevo sempre usato
lsof -n|grep device
Ancora più figo il fatto che in fuser (di cui mi sono andato a vedere il man), ha un’ opzione che killa o manda un segnale al processo incriminato, un pò come quando aprendo lo sportellino del cd si chiude la finestra di konqueror insomma.
@Shark, la m vicino al processo indica che quel file è aperto in modalità “memory mapped” o comunque in memoria condivisa.
davvero utile! ogni tanto capita anche a me, e per non rischiare di perdere dati, comincio a chiudere tutto (un programma alla volta) per capire cos’è che blocca il device! xD
@andy: hai ragione, mi sono andato a vedere anche io il man, ma dopo.
Preciso che l’opzione per killare e’ -k (intuibile)
fuser -km /dev/device
ops… non ero a conoscenza…
grazie
WOW!
anche io voglio SOMONTARE i miei devices!!! SOMONTA e SGOMORRA dei file con FSTAB!
A parte gli scherzi …
nice tip!
Ho corretto l’eRRRore ortografico…
Aggiungo anche questo caso:
mi è capitato recentemente di avere problemi nello smontare una partizione NFS. Sia il comando fuser che lsof non trovavano nulla eppure facendo umount mi dava sempre “Device or resource busy”:
Ho trovato quindi questa soluzione:
http://www.cyberciti.biz/tips/how-do-i-forcefully-unmount-a-disk-partition.html
umount -l (lazy)
L’opzione lazy è così spiegata:
-l Lazy unmount. Detach the filesystem from the filesystem hierar‐
chy now, and cleanup all references to the filesystem as soon as
it is not busy anymore. (Requires kernel 2.4.11 or later.)
traduzione: sgancia il fs ma esegue l’umount di basso livello (quello che conta per l’integrità dei dati) solo quando non è più occupato (ovvero quando anche un umount “liscio” andrà a buon fine).
Fermo restando che va usata con cautela (SOLO quando fuser o lsof non hanno successo) funziona sempre!
ciao
[...] completo da [...]