Aprenda a usar el comando ‘fuser’ con ejemplos en Linux

Una de las tareas más importantes en la administración de sistemas Linux es la gestión de procesos. Se trata de varias operaciones bajo seguimiento, señalización de procesos y establecimiento de prioridades de procesos en el sistema.

Existen numerosas herramientas / utilidades de Linux diseñadas para monitorear / manejar procesos como top, ps, pgrep, kill, killall, nice junto con muchos otros.

En este artículo, descubriremos cómo encontrar procesos utilizando una ingeniosa utilidad de Linux llamada fuser .

Lectura sugerida: encuentre los principales procesos en ejecución por mayor uso de memoria y CPU

fuser es una utilidad de línea de comandos simple pero poderosa destinada a localizar procesos basados ​​en los archivos, directorios o socket a los que accede un proceso en particular. En resumen, ayuda al usuario del sistema a identificar procesos mediante archivos o sockets.

Cómo utilizar el fusor en sistemas Linux

La sintaxis convencional para usar fuser es:

# fuser [options] [file|socket]
# fuser [options] -SIGNAL [file|socket]
# fuser -l 

A continuación, se muestran algunos ejemplos del uso de fusor para localizar procesos en su sistema.

Encuentre qué proceso accede a un directorio

La ejecución del comando fuser sin ninguna opción mostrará los PID de los procesos que acceden actualmente a su directorio de trabajo actual.

$ fuser .
OR
$ fuser /home/tecmint

Buscar procesos en ejecución de directorioBuscar procesos en ejecución de directorio

Para obtener una salida más detallada y clara, habilite -vo de la --verbosesiguiente manera. En la salida, el fusor imprime el nombre del directorio actual, luego las columnas del propietario del proceso ( USUARIO ), el ID del proceso ( PID ), el tipo de acceso ( ACCESO ) y el comando ( COMANDO ) como se muestra en la imagen siguiente.

$ fuser -v

Lista de procesos en ejecución del directorioLista de procesos en ejecución del directorio

Debajo de la columna ACCESO , verá los tipos de acceso indicados por las siguientes letras:

  1. c – directorio actual
  2. e – un archivo ejecutable en ejecución
  3. f– archivo abierto, sin embargo, f se deja fuera en la salida
  4. F– archivo abierto para escritura, F también se excluye de la salida
  5. r – directorio raíz
  6. m – archivo mmap’ed o biblioteca compartida

Encuentre qué proceso accede a un sistema de archivos

A continuación, puede determinar qué procesos están accediendo a su .bashrcarchivo de esta manera:

$ fuser -v -m .bashrc

La opción -mNOMBRE o --mount NOMBRE significa nombrar todos los procesos que acceden al archivo NOMBRE . En caso de que especifique un directorio como NAME , se cambia espontáneamente a NAME/, para usar cualquier sistema de archivos que posiblemente esté montado en ese directorio.

Lectura sugerida: encuentre los 15 procesos principales por uso de memoria en Linux

Cómo matar y señalizar procesos con fusor

En esta sección trabajaremos mediante el uso de fusor para matar y enviar señales a los procesos.

Para matar un proceso que accede a un archivo o socket, utilice la opción -ko --killasí:

$ sudo fuser -k .

Para matar de forma interactiva un proceso, donde se le pide que confirme su intención de matar los procesos que acceden a un archivo o socket, utilice la opción -io --interactive:

$ sudo fuser -ki .

Matar el proceso de forma interactiva en LinuxMatar el proceso de forma interactiva en Linux

Los dos comandos anteriores matarán todos los procesos que accedan a su directorio actual, la señal predeterminada enviada a los procesos es SIGKILL , excepto cuando se usa -SIGNAL .

Lectura sugerida: una guía para los comandos Kill, Pkill y Killall en Linux

Puede enumerar todas las señales usando las opciones -lo --list-signalscomo se muestra a continuación:

$ sudo fuser --list-signals 

Lista de todas las señales del proceso de muerteLista de todas las señales del proceso de muerte

Por lo tanto, puede enviar una señal a los procesos como en el siguiente comando, donde SIGNAL es cualquiera de las señales enumeradas en la salida anterior.

$ sudo fuser -k -SIGNAL

Por ejemplo, este comando a continuación envía la señal HUP a todos los procesos que tienen su /bootdirectorio abierto.

$ sudo fuser -k -HUP /boot 

Intente leer la página del manual del fusor para conocer las opciones de uso avanzadas e información adicional y más detallada.

Eso es todo por ahora, puede comunicarse con nosotros a través de la sección de comentarios a continuación para cualquier ayuda que posiblemente necesite o sugerencias que desee hacer.

Comandos de Linux

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux