Procesos de Linux: Gestión de tareas con el comando ps

Procesos de Linux: Gestión de tareas con el comando ps

¿Qué son los procesos en Linux?

En este capítulo vamos a analizar como es que los procesos funcionan en Linux. Antes de adentrarnos en detalle en el tema vamos a explicar lo que es un proceso en Linux. Un proceso en Linux es una serie de instrucciones que vienen de un programa que esta en ejecución, existen diferentes elementos que incorpora un proceso como la prioridad de ejecución del proceso que le indica a Linux cuanto CPU utilizar y el tiempo máximo de ejecución del proceso.

Cuando Linux se ejecuta, el kernel de Linux tiene la primera prioridad de ejecución, conocida como PID 1 (Process ID). En versiones anteriores de Linux, este proceso era conocido como init que esta basado en en la forma en la que sistemas antiguos de Unix arrancaban el sistema.

Las versiones modernas de Linux utilizan systemd que intenta coordinar la manera en que los procesos son manejados. Como comentamos PID1 es el proceso padre, todos los demás procesos ejecutados a partir de este son procesos hijos.

¿Cómo ver la lista de procesos en Linux?

Algunos procesos inician otros procesos, de esta forma se convierten en padres de estos. Para poder ver esta jerarquía podemos utilizar el comando ps que muestra en la última columna como la jerarquía de los procesos y subprocesos esta organizada por tabuladores.

ps -eH | less

El parámetro -e muestra todos los procesos ejecutados en el sistema por parte de todos los usuarios. Mientras que el parámetro -H muestra la jerarquía de los procesos (hierarchy).

También es posible consultar la información mas detallada aún utilizando el parámetro -f.

ps -efH | less

La información de los procesos es obtenida de archivos del directorio /proc, este directorio tiene comunicación directa con el kernel, de forma que comandos como ps, free, top, entre otros pueden leer información en tiempo real.

¿Cómo listar los procesos de Linux en tiempo real?

Si se desea obtener información en tiempo real, se puede utilizar el comando top que hace la misma función que el comando ps pero mantiene el listado de procesos monitoreando en pantalla.

¿Cómo finalizar un proceso dentro de top?

  1. Ubica el pid del proceso.
  2. Presiona la tecla k.
  3. Escribe el pid del proceso y presiona enter.

Esto enviará una señal para terminar con el proceso asociado a este pid.

¿Cómo ver los procesos que un usuario esta ejecutando en Linux?

Para visualizar los procesos que un usuario en particular esta ejecutando utilizamos ps -u.

ps -u <nombredeusuario>

Esto nos brinda una lista mas extensa de la cantidad de procesos que se están ejecutando.