jueves, abril 02, 2009

Como forzar el umount en UNIX/Linux, etc.


Supongamos que ocurre lo siguiente (a mi me ocurrió ayer):

1.-Has lanzado algo que tarda demasiado. 
2.-Matas el proceso porque no puedes esperar.
3.-Vas a desmontar el file system (por ejemplo con umount /mifilesystem), y algo ha salido mal, porque no hay forma de desmontarlo. Continuamente nos dice "device is busy".

Ahora tiras de man para saber si el comando umount tiene una opción para forzar la acción pero imagínate que no hay forma de hacerlo, o no funciona.

Para estas situaciones tenemos el comando fuser que viene de perlas.

Lo tenemos en Linux, en AIX, Solaris, Mac OSX, y me imagino que en todos los demás UNIX y Unix-like.

Nos muestra los procesos que tiran de un fichero, directorio determinado.

Seguramente en cada sistema tiene opciones diferentes. En HP-UX con la opción -k mata los procesos que tienen en uso el filesystem. Cuidado, la K es de KILL, y funciona muy bien.

fuser -k /mifilesystem
umount /mifilesystem

Bueno, para los usuarios Windows envidiosillos también hay programas similares:
Uno de ellos es unlocker y se puede descargar de http://ccollomb.free.fr/unlocker/index.htm

Saludos.

4 comentarios:

Exos dijo...

Gracias por el dato, te cuento que tuve un problema medio loco, estaba con una particion montada por sshfs desde un usuario comun, se me corto la wifi, y luego eso quedo tildado por que un programa intentaba grabar, cerre el programa y me seguia tirando Dispositivo ocupado (dev bussy), killie como root el sshfs y trade de desmontar pero nada, en fin buscando llegue a este post, pero cuando tiraba el comando, me tiraba otro error:


[exos@Exeded ~]$ fuser -k ddn
Cannot stat /home/exos/ddn: Dirección incorrecta
/home/exos/ddn:
[exos@Exeded ~]$ rm ddn
rm: no se puede borrar «ddn»: El otro extremo de la conexión no está conectado

En fin, busque ese error y vi otro post que le agregaba otro parametro (m) que aunque en la ayuda no dice nada relativo, me sirvio.


[exos@Exeded ~]$ sudo fuser -mk ddn

y no me tiro error, la particion seguia montada pero el umount corrio sim problemas (como root)

Aitor Iriarte dijo...

Gracias por tu aportación Exos, seguro que servirá a alguien en el futuro.
Saludos,

Anónimo dijo...

excelente men gracias por el tip!! excelente!!

Aitor Iriarte dijo...

Se agradece el comentario Anónimo.
Un saludo!