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 directorio
Para obtener una salida más detallada y clara, habilite -v
o de la --verbose
siguiente 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 directorio
Debajo de la columna ACCESO , verá los tipos de acceso indicados por las siguientes letras:
c
– directorio actuale
– un archivo ejecutable en ejecuciónf
– archivo abierto, sin embargo, f se deja fuera en la salidaF
– archivo abierto para escritura, F también se excluye de la salidar
– directorio raízm
– 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 .bashrc
archivo de esta manera:
$ fuser -v -m .bashrc
La opción -m
NOMBRE 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 -k
o --kill
así:
$ 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 -i
o --interactive
:
$ sudo fuser -ki .
Matar 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 -l
o --list-signals
como se muestra a continuación:
$ sudo fuser --list-signals
Lista 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 /boot
directorio 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