OpenWebinars

Redes y Sistemas

20 comandos para administrar y gestionar fácilmente procesos en Linux

Gestiona y administra fácilmente los procesos en el sistema operativo Linux, y acaba siendo un ninja del sistema operativo del pingüino.

Esaú Abril Nuñez

Esaú Abril Nuñez

Lectura 5 minutos

Publicado el 17 de diciembre de 2015

Compartir

    Tabla de contenidos

Es de sobra conocida la extensión que alcanza Linux en lo que a servidores en producción se refiere. Los bajos consumos de recursos y lo fácil que ha llegado a ser administrarlos desde hace unos años han ayudado a esto.

Por cierto, si quieres aprender Linux desde cero, te proponemos nuestro curso de Linux, con el que comenzar a dominar este Sistema Operativo sin necesitar conocimientos previos. Ahora puedes conseguir una suscripción gratuíia a nuestra plataforma durante 15 días, para acceder a este y muchos otros cursos y talleres de sistemas.

Los procesos juegan un papel muy importante en las distribuciones Linux, ya que son los que consumirán estos recursos hardware tan preciados en entornos de producción, administrarlos y gestionarlos correctamente es de vital importancia ya que estos procesos y la gestión que hace el sistema sobre ellos, hacen posible mantener funcionando el servidor sin necesidad de reiniciar después de un cambio o actualización importante. Esto es uno de los puntos más importantes por los que Linux gobierna el 90% de los servidores alrededor del mundo .

Conviértete en SysAdmin
Domina las tecnologías más demandadas. Accede a cursos, talleres y laboratorios prácticos de Linux, VMware, Tomcat, IPv6 y más.
Comenzar gratis ahora

Para esta labor contamos con varias herramientas a nuestra disposición, veamos algunas de ellas.

Para ver los procesos en sistemas Linux, contamos con el comando ‘ ps ’, que listará (de múltiples formas según las opciones que le pasemos) todos los procesos que se encuentran corriendo en nuestro equipo.

ps [opciones]

Imagen 0 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

Como de costumbre, podemos revisar el manual de ps dentro del sistema para conocer todas las opciones posibles:

man ps

Imagen 1 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

Siendo las más habituales :

ps aux (muestra todos los procesos del sistema)

Imagen 2 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

ps axjf (que mostrará un árbol jerárquico con la ruta del programa al que pertenece el proceso)

Imagen 3 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

Las opciones que podemos aplicar a ps no van más allá de mostrar la información de una u otra forma, más o menos extensa, o como ya sabemos, filtrar los resultados con grep. Sea cual sea el método de muestra que elijamos, siempre habrá dos constantes, el PID y el comando o nombre del programa. Aquí un ejemplo de filtrado sobre ps para obtener únicamente los procesos pertenecientes a bash.

 

ps aux | grep bash

Imagen 4 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

El PID es el número identificador de proceso que le asigna el sistema a cada proceso que se inicia, mientras que el command es el programa al cual pertenece dicho proceso.

Top es otro gestor de procesos integrado en la mayoría de sistemas Linux. Mientras que ps nos muestra un listado de procesos estático, es decir, nos informa de los procesos, nombres, usuarios o recursos que se están usando en el momento de la petición; top nos da un informe en tiempo real de los mismos.

top

Imagen 5 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

man top

Imagen 6 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

Aquí, como vemos en su manual, podemos controlar más aspectos, como los de los siguientes ejemplos entre otros:

top –d 5 (Donde 5 es el número de segundos a transcurrir entre cada muestreo)

top –o %CPU (Donde %CPU es el valor por el que vamos a ordenar los procesos )

Imagen 7 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

top –u toushiro (Donde Toushiro es el usuario del cual queremos mostrar los procesos)

Imagen 8 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

Otro gestor de procesos muy interesante y usado es ‘ htop ’, que nos mostrará sin salir de la terminal (si es que lo ejecutamos desde ésta…) algo similar a top, pero donde mediante las teclas de función del teclado, accederemos a menús de configuración al estilo de las aplicaciones DOS (qué tiempos…).

htop

Imagen 9 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

man htop

Imagen 10 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

En htop, al tratarse de una aplicación en sí donde ya podremos configurar algunos de sus aspectos y criterios de orden, hay poco que configurar, no obstante, tal y como podemos leer en su manual, podemos hacer que inicie en modo monocromo, predefinir el delay o intervalo de refresco, etc…

Los sistemas Linux vienen con la herramienta KILL instalada, que usaremos para detener los procesos que necesitemos. Por defecto el comando kill envía una señal denominada TERM a un proceso que le pasaremos mediante su PID como argumento. Esta señal TERM pedirá a dicho proceso que termine, permitiéndole gestionar su función de cierre, completando las tareas necesarias y limpiando la información que ha cargado en memoria.

 

kill [PID del proceso]

Imagen 11 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

En la captura de aquí arriba vemos cómo nos ha dado un error que aprovecho para recalcar un punto muy importante en la seguridad de los sistemas Linux, sistemas verdaderamente multiusuario y bien definidos, donde como vemos, no permite eliminar o cancelar procesos de otros usuarios. Esto, como toda medida de seguridad tiene su pega... pero vamos a quedarnos con lo "bueno" ^_^

En el caso de encontrarnos ante un proceso que “no quiere cerrarse” por la vía diplomática que le ofrecemos con TERM, pasaremos a eliminar dicho proceso por la fuerza ejecutando el comando kill con el siguiente argumento, pasando a root previamente para no recibir el error que acabamos de comentar:

kill –KILL [PID del proceso]

Imagen 12 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

Con este último comando, no estamos mandado al proceso ninguna señal, directamente estamos diciéndole al kernel del sistema que descarte y cierre dicho proceso.

Estas señales también pueden ser identificadas con números. Por ejemplo, en los ejemplos anteriores TERM puede ser pasada al proceso mediante “-15” y –KILL es el equivalente a pasar “-9” . Es decir, el resultado de los siguientes comandos será el mismo:

kill -9 [PID del proceso]

kill –KILL [PID del proceso]

El comando kill además de para finalizar procesos, también podemos usarlo para reiniciar ciertos servicios. Uno de los que más necesita reiniciarse suele ser Apache, sobre todo si aún estamos con la configuración base, para ir viendo que todo funciona correctamente.

Asegura la infraestructura tecnológica de tu empresa con el menor esfuerzo
Cursos, talleres y laboratorios actualizados para que tus equipos dominen las últimas herramientas para gestionar servidores y aplicaciones.
Solicitar más información

Al igual que Apache, multitud de servicios necesitan ser reiniciados, y la mayoría de ellos responde al argumento ‘HUP’ (Hang up) de kill. Mediante el siguiente comando, el servicio perteneciente a Apache, se reiniciará y volverá a cargar el fichero de configuración, permitiéndonos ver si los cambios han surtido efecto y volviendo a dar servicio a los usuarios.

kill –HUP [PID de Apache]

Como vimos anteriormente, HUP también tiene su respectiva nomenclatura en numeración, siendo el equivalente al comando anterior, la siguiente línea:

kill -1 [PID de Apache]

Un dato importante es que además de por su PID, si conocemos el nombre exacto del proceso también podemos usarlo en el lugar en el que usaríamos el PID. Para esto usaremos ‘ pkill ’ en lugar de kill, que funciona exactamente igual, pero preparado para trabajar con nombres de proceso en lugar de con PID. Es decir estos dos comandos harán exactamente lo mismo:

kill -9 3484

pkill -9 htop

Imagen 13 en 20 comandos para administrar y gestionar facilmente los procesos en Linux

' killall ' es una variante del comando kill con el que enviaremos la misma señal a todos los procesos pertenecientes a un programa. Por ejemplo:

killall Firefox

Con estos comandos y herramientas ya podremos gestionar de forma correcta y eficiente los procesos de nuestro sistema, monitorizándolos para ver si hay algo que no debiese estar, o que se encuentre consumiendo recursos por encima de lo normal; optimizando así nuestra distribución y el aprovechamiento que hacemos de nuestro hardware.

 
Compartir este post

También te puede interesar

Icono de la tecnología
Curso

Linux desde Cero

Principiante
7 h. y 3 min.

Un curso de Linux para aprender todo lo necesario para administrar sistemas Linux, perfecto para programadores y administradores...

Antonio Sánchez
4.4