Nexolinux
Sistemas Linux, servidores web, certificaciones, LPIC, Linux básico y profesional
Navigation
  • Home
  • Bash
  • LPIC
  • Noticias
  • Seguridad
  • Servicios
  • HowTo’s
You are here: Home › Bash & Comandos › Comando fuser, Localizamos procesos que usan un fichero.

Comando fuser, Localizamos procesos que usan un fichero.

1 abril, 2013 | Filed under: Bash & Comandos, Linux General, Nivel Avanzado and tagged with: comando fuser, fichero, fuser linux, kill linux, matar proceso linux, pid, servidor, servidores, uso fuser

Fuser es un comando muy poco conocido pero muy potente en Linux, identifica qué procesos están utilizando un fichero o carpeta determinada o un socket. De la misma forma podemos usarlo para matar esos mismos procesos.

1- La forma más simple de utilizarlo sería así:

m3t4g4m3@nexolinux ~ $ fuser .
/home/m3t4g4m3: 5663c

Cuyo PID nos muestra el proceso que muestra que mi propio usuario está usando ese directorio al encontrarme en él:

m3t4g4m3@nexolinux ~ $ ps -ef | grep 5663
m3t4g4m3 5663 5655 0 13:30 pts/2 00:00:00 -su

La «c» del proceso que muestra también nos aporta información, en este caso es «directorio actual»  (Current directory)

También podemos ver esta nomenclatura:

c Directorio actual (current directory)
e Ejecutable activo (executable being run)
f Fichero abierto, omitido en el modo por defecto (open file)
F Fichero abierto para escritura, omitido en el modo por defecto (open file for writing)
r Directorio raíz (root directory)
m Fichero mapeado o biblioteca compartida (maped file or shared library)

2- Si ejecutamos fuser sobre un ejecutable como el servidor web nginx tenemos esto:

nexolinux sbin # fuser -v nginx
 USER PID ACCESS COMMAND
/usr/sbin/nginx: root 6444 ...e. nginx
 www-data 6445 ...e. nginx
 www-data 6446 ...e. nginx
 www-data 6447 ...e. nginx
 www-data 6448 ...e. nginx

Lo ejecuto como root, pues como un usuario normal sólo mostraría de las rutas/procesos que tenga acceso. Le he añadido el valor «-v» para mostrar más información (verbose)

3- Si lo ejecutamos sobre un socket

nos dará esta valiosa información. Como por ejemplo en el puerto 80 que arranca el nginx

nexolinux sbin # fuser -v -n tcp 80
 USER PID ACCESS COMMAND
80/tcp: root 6444 F.... nginx
 www-data 6445 F.... nginx
 www-data 6446 F.... nginx
 www-data 6447 F.... nginx
 www-data 6448 F.... nginx

 

4- Matar procesos que de un software determinado:

Tomando el argumento «-k» mataremos los procesos que usan un fichero o carpeta determinado, es una forma rápidisima y eficaz de hacer esta tarea con un sólo comando

nexolinux sbin # ps -ef | grep nginx | grep -v grep
root 7112 1 0 14:21 ? 00:00:00 nginx: master process ./nginx
www-data 7113 7112 0 14:21 ? 00:00:00 nginx: worker process
www-data 7114 7112 0 14:21 ? 00:00:00 nginx: worker process
www-data 7115 7112 0 14:21 ? 00:00:00 nginx: worker process
www-data 7116 7112 0 14:21 ? 00:00:00 nginx: worker process
nexolinux sbin # fuser -v -k nginx
 USER PID ACCESS COMMAND
/usr/sbin/nginx: root 7112 ...e. nginx
 www-data 7113 ...e. nginx
 www-data 7114 ...e. nginx
 www-data 7115 ...e. nginx
 www-data 7116 ...e. nginx
nexolinux sbin # ps -ef | grep nginx | grep -v grep
nexolinux sbin #

 

5- Matar procesos selectivos de forma interactiva.

Pero imaginemos por un momento que una carpeta o binario donde vamos a ejecutarlo pueda ser usado por muchas aplicaciones o directamente lo desconozcamos, como medida de cautela, usamos el argumento «-i» para que nos pregunte si queremos o no matar un proceso determinado:

nexolinux sbin # fuser -v -i -k nginx
 USER PID ACCESS COMMAND
/usr/sbin/nginx: root 7291 ...e. nginx
 www-data 7292 ...e. nginx
 www-data 7293 ...e. nginx
 www-data 7294 ...e. nginx
 www-data 7295 ...e. nginx
Kill process 7291 ? (y/N) y
Kill process 7292 ? (y/N) y
Kill process 7293 ? (y/N) y
Kill process 7294 ? (y/N) y
Kill process 7295 ? (y/N)

¡Espero que os sea útil!

Fuente: www.thegeekstuff.com

Comparte esto:

  • Facebook
  • Twitter
  • LinkedIn

Me gusta esto:

Me gusta Cargando...

2 Responses to "Comando fuser, Localizamos procesos que usan un fichero."

  1. Roberto dice:
    11 junio, 2013 a las 09:53

    fuser -v /home lista todos los procesos que utilizan el directorio /home

    fuser -mv /mnt/xxx lista los procesos asociados al sistema de ficheros

    fuser -amk /mnt/xxx El proceso que se encuentre en ese sistema de archivos es matado

    Responder
    1. m3t4g4m3 dice:
      11 junio, 2013 a las 10:28

      Gracias por el aporte 🙂 me han parecido interesantes, tomo nota!.

      Saludos!!

      Responder

Deja un comentarioCancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Categorías.

  • Bases de datos
  • Bash & Comandos
  • HowTo
  • Linux General
  • LPIC
  • LPIC-2
  • Nivel Avanzado
  • Nivel Basico
  • Noticias
  • Seguridad
  • Servicios
  • Servidor Web

Entradas y Páginas Populares

  • Comando fuser, Localizamos procesos que usan un fichero.
    Comando fuser, Localizamos procesos que usan un fichero.
  • Ejemplos usos mount y umount
    Ejemplos usos mount y umount
  • Ficheros de usuarios /etc/passwd y /etc/shadow
    Ficheros de usuarios /etc/passwd y /etc/shadow
  • Instruccion READ en Bash
    Instruccion READ en Bash
  • ¿Cómo cifra linux las contraseñas?
    ¿Cómo cifra linux las contraseñas?
  • Proxy Squid, control de accesos ACL (II)
    Proxy Squid, control de accesos ACL (II)
  • 15 dispositivos que funcionan con Linux
    15 dispositivos que funcionan con Linux
  • fichero fstab
    fichero fstab
  • HowTo:Ejecutar comando como otro usuario.
    HowTo:Ejecutar comando como otro usuario.
  • Comandos más usados para gestionar Iptables
    Comandos más usados para gestionar Iptables

© 2025 Nexolinux

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrar publicidad relacionada con tus preferencias. cerrar Política de cookies
Privacidad y política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR
%d