A veces al desmontar un dispositivo, por ejemplo un usb aparece el desagradable mensaje "El dispositivo está ocupado", no hay problema, con el comando de linux "fuser" podemos saber que o quien ocupa nuestro dispositivo o puerto.
Ejecutando "fuser" desde un terminal, si el recurso esta siendo usado, nos informa de quien y que proceso lo mantiene ocupado.
-a display unused files too
-c mounted FS
-f silently ignored (for POSIX compatibility)
-i ask before killing (ignored without -k)
-k kill processes accessing the named file
-l list available signal names
-m show all processes using the named filesystems
-n SPACE search in this name space (file, udp, or tcp)
-s silent operation
-SIGNAL send this signal instead of SIGKILL
-u display user IDs
-v verbose output
-V display version information
-4 search IPv4 sockets only
-6 search IPv6 sockets only
- reset options
udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]
Al reproducir una pelicula en un disco duro externo se produce un bloqueo, ejecutando "fuser -v -m /media/Lacie".
-v salida detallada
-m todos los procesos de la ruta asignada
[nexus6@nexus6 ~]$ fuser -v -m /media/LaCie/
USER PID ACCESS COMMAND
/media/LaCie/: nexus6 24499 f.... dragon
tenemos el ID del proceso que podriamos matar con:
kill 24499
pero añadiendo -k matamos el proceso directamente:
fuser -v -k -m /media/Lacie
fuser también nos puede informar de que proceso ocupa un puerto, en este caso el puerto 22, "fuser -v-n tcp 21":
[nexus6@nexus6 ~]$ fuser -v-n tcp 21
USER PID ACCESS COMMAND
21/tcp: nexus6 4321 F. raíz ... vsftpd
Vsftpd esta utilizando el puerto 21, con la opcion -k se puede terminar con el proceso.