View my profile on LinkedIn

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.

9 Comments

  1. shark says:

    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?

  2. andy says:

    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.

  3. gain says:

    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

  4. shark says:

    @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

  5. climatrix says:

    ops… non ero a conoscenza…
    grazie

  6. WOW!
    anche io voglio SOMONTARE i miei devices!!! SOMONTA e SGOMORRA dei file con FSTAB! :D

    A parte gli scherzi …

    nice tip!

  7. Ho corretto l’eRRRore ortografico…

  8. marco says:

    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

Leave a Reply

hitstatus