Búsqueda de sitios web

Aprenda a utilizar 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. Implica varias operaciones bajo monitoreo, 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 y muchas otras.

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 según el mayor uso de memoria y CPU

fuser es una utilidad de línea de comandos sencilla pero potente destinada a localizar procesos en función de los archivos, directorios o sockets a los que accede un proceso en particular. En resumen, ayuda al usuario del sistema a identificar procesos utilizando archivos o sockets.

Cómo utilizar el fusor en sistemas Linux

La sintaxis convencional para utilizar fuser es:

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

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

Encuentre qué proceso accede a un directorio

Al ejecutar el comando fuser sin ninguna opción, se mostrarán los PID de los procesos que actualmente acceden a su directorio de trabajo actual.

fuser .
OR
fuser /home/tecmint

Para obtener una salida más detallada y clara, habilite -v o --verbose de la siguiente manera. En el resultado, fuser imprime el nombre del directorio actual, luego las columnas del propietario del proceso (USUARIO), ID del proceso (PID) , el tipo de acceso (ACCESS) y el comando (COMMAND) como en la imagen de abajo.

fuser -v

En 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: abre el archivo, sin embargo, f se omite en la salida.
  4. F: abre el archivo para escribir, F también se excluye de la salida
  5. r – directorio raíz
  6. m – archivo mmap o biblioteca compartida

Encuentre qué proceso accede a un sistema de archivos

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

fuser -v -m .bashrc

La opción, -m NAME o --mount NAME significa nombrar todos los procesos que acceden al archivo NAME. En caso de que deletree un directorio como NOMBRE, se cambia espontáneamente a NOMBRE/, 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ñalar procesos usando fusor

En esta sección trabajaremos en el uso de fuser para finalizar y enviar señales a procesos.

Para eliminar un proceso que accede a un archivo o socket, emplee la opción -k o --kill de esta manera:

sudo fuser -k .

Para finalizar interactivamente un proceso, donde se le solicita que confirme su intención de finalizar los procesos que acceden a un archivo o socket, utilice la opción -i o --interactive:

sudo fuser -ki .

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 utilizando las opciones -l o --list-signals como se muestra a continuación:

sudo fuser --list-signals 

Por lo tanto, puede enviar una señal a procesos como en el siguiente comando, donde SEÑAL es cualquiera de las señales enumeradas en el resultado anterior.

sudo fuser -k -SIGNAL

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

sudo fuser -k -HUP /boot 

Intente leer la página de manual de fuser para obtener 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 necesite o sugerencia que desee hacer.