A menudo, durante el trabajo con unidades flash, discos, imágenes aparece el error dispositivo o recurso ocupado. Puede aparecer cuando se intenta desmontar un disco externo o una partición, o cuando se intenta mover o eliminar un archivo. En este artículo analizaremos por qué puede producirse este error, así como las formas de solucionarlo.
El mensaje significa que un dispositivo o recurso está ocupado. Si se explica con más detalle - el archivo que está tratando de eliminar o el disco que necesita desmontar todavía está siendo utilizado por uno de los programas en ejecución. Esto puede deberse a que el programa aún no ha terminado su trabajo, se ha congelado o hay algún problema en el proceso de su trabajo.
Puede producirse un error al intentar realizar una operación en un archivo que ya está siendo utilizado por otro proceso o programa. A menudo el problema está relacionado con un archivo abierto, un dispositivo bloqueado, una conexión de red. En el caso de una unidad flash, puede simplemente retirarla del PC, pero esto no es una solución, porque hay una alta probabilidad de perder datos no guardados. Hay formas de evitar este problema.
Lo primero que hay que hacer es cerrar los programas que puedan estar utilizando el archivo o uno de los archivos del soporte extraíble. Si uno de los archivos de vídeo se está reproduciendo, debe cerrar el reproductor. Y sólo después intentar realizar operaciones de nuevo.
Si no sabes qué programa te impide realizar una operación, puedes averiguarlo muy fácilmente con la ayuda del comando lsof. Simplemente ejecútalo y criba sólo aquellas entradas que hagan referencia al punto de montaje de tu medio:
lsof | grep /media/sergiy/83AE-2346
También puedes filtrar los procesos que necesitas en la propia utilidad, utiliza la opción +D, esto es incluso mejor porque no mostrará los servicios del sistema sino que sólo mostrará el programa que necesitas terminar:
lsof +D /media/sergiy/83AE-2346
De esta forma verás todos los procesos que utilizan los archivos de nuestro soporte y podrás terminarlos con el comando kill. En nuestro caso, necesitamos terminar el reproductor totem con PID 5616:
$ kill -TERM 5616
¿Cómo ver qué procesos están utilizando el fichero? Utiliza el comando fuser:
fuser -vm /home/sergiy/83AE-2346
Verás toda la información necesaria: se mostrará el usuario en cuyo nombre se está ejecutando el proceso. Del mismo modo, puede cerrarlo:
Si has cerrado todos los programas, pero no ha servido de nada, puedes intentar borrar la caché de archivos del sistema con un comando como este:
sync && echo 2 > /proc/sys/vm/drop_caches
Eso es todo por ahora.