Sabemos que en Linux, la consola nos brinda herramientas que son sumamente poderosas para la administración del sistema. Es por ello que, hoy hablaremos de comandos para el Manejo de procesos desde la consola en Linux. Es probable que varios de ellos ya los conozcan, pero nunca viene mal hacer un repaso; ya que estos nos permiten desde visualizar, configurar su prioridad, hasta matar los procesos.
Índice de contenidos
Manejo de procesos desde la consola en Linux
top
Este es uno de los comandos clásicos en Linux para el manejo de procesos. Te permite visualizar los recursos usados por el sistema y de esta forma identificar cual de ellos esta consumiendo la mayor cantidad.
Sintaxis:
[php]top[/php]htop
Digamos que es una versión mejorada de top. Usualmente las distribuciones de Linux no lo traen instalado por defecto.
En caso de no tenerlo en su sistema, ejecutan lo siguiente para instalarlo:
[php]sudo apt-get install htop[/php]Su principal mejora es que la salida es mucho mas sencilla de interpretar en comparación a top. Adicionalmente, permite realizar otro tipo de operaciones sobre los procesos, como por ejemplo matar un proceso, de una manera muy fácil utilizando las teclas que se muestran en la siguiente imagen:
pgrep
Este comando nos permite determinar el PID del proceso que coincida con la búsqueda de la palabra clave suministrada. PID viene de las siglas en ingles de «Identificador de Proceso». Veamos un ejemplo:
[php]pgrep firefox[/php]Nos retornara el PID del proceso «firefox».
renice
Este comando nos ayuda en el modificación del valor «nice» de un proceso que se encuentra en ejecución.
El valor «nice» es el cual determina la prioridad de un proceso especificado. Su escala es la siguiente:
- El valor de -19 representa muy alta prioridad.
- Por el contrario, el valor 19 determina una baja prioridad.
- El valor por defecto en el 0.
El comando renice, necesita como parámetro el PID de un proceso.
Sintaxis:
[php] renice 19 "PID"[/php]ps
Es el comando universal por defecto de Linux para el manejo de procesos. Puedes visualizar los procesos y realizar operaciones sobre ellos. Es bastante practico pues te permite enlazarlo con otros comandos. Un ejemplo de ellos es usar «grep» para buscar un proceso en especifico, haciendo uso de las famosas Tuberías.
Ejemplo:
[php]ps -A | grep firefox[/php]Donde, «grep firefox» hace la búsqueda de procesos de Firefox.
pstree
Este comando nos permite visualizar todos los procesos con sus respectivas dependencias, en forma de un árbol.
Terminar procesos en Linux
Los sistemas operativos basados en Linux, incorporan un conjunto de herramientas útiles para terminar con los procesos que se han quedado colgados o que ya no requerimos que sigan ejecutándose. En este punto nos extenderemos un poco ya que existen 4 formas de terminar con un proceso y es una parte fundamental en el manejo de procesos en Linux. Puede ser a través de su nombre, también especificando una parte de su nombre, directamente por el PID o incluso señalando con el cursor la ventana de dicho proceso. A continuación veremos una a una.
Kill: usando el PID para matar el proceso
Es la manera mas complicada pero a la vez la mas precisa, ya que el PID es un identificado único de cada proceso en ejecución en un instante determinado.
Kill nos permite enviar diferentes tipos de señales, las cuales pueden cerrar un proceso o un grupo de ellos. La señal por defecto es TERM si no es especificada ningún tipo.
Los siguiente tipos de señal son las más comunes:
- SIGHUP: Se emplea cuando la consola no responde o si se perdido control sobre el proceso. Se encarga de cargar nuevamente los archivos de configuración del mismo así como sus posibles archivos log.
- SIGKILL: Este modo es el mas radical para terminar un proceso, se emplea cuando ya este no responda. No se guardara ningún tipo de dato ya que no es una manera limpia para cerrar el proceso.
- SIGTERM: Es el mecanismo por defecto para matar el proceso.
Ejemplo:
[php]kill 22298[/php]Donde, 22298 representa el PID del proceso.
killall: matar un proceso usando su nombre
Es un comando muy sencillo. Un dato a tener en cuenta es que, en caso de haber varias instancias del programa ejecutándose, el comando se encargara de cerrar todas.
Sintaxis:
[php]killall nombre_proceso[/php]pkill: matar un proceso usando parte de su nombre
pkill nos brinda la opción de aniquilar el proceso a través de su nombre o incluso una parte de el. Lo que nos libera de la necesidad de recordar el PID para especificar la señal. Sin embargo, se cerraran todos los procesos cuyos nombres contengan la palabra especificada.
Su ejecución seria:
[php]pkill parte_nombre_proceso[/php]Te recomendamos la lectura de las redirecciones y tuberías en linux.
xkill: matar un proceso seleccionando la ventana con el mouse
De todo el grupo, este es el mas practico y sencillo. Basta con presionar las teclas Alt + F2, seguido de esto se desplegara un cuadro de dialogo. Dicho cuadro te permitirá realizar la ejecución de comandos. Escribimos xkill. A continuación el cursos pasara a ser una calavera y al hacer clic sobre alguna de las ventanas, adiós proceso!
Deja en los comentarios tu experiencia, comparte con nosotros cuales de este grupo de comandos te resulta útil y ¿por que?