Qué es un proceso en Linux

En Linux, todo lo que ocurre en el sistema se ejecuta a través de procesos. Un proceso es simplemente un programa en ejecución que utiliza recursos del sistema como memoria, CPU y acceso a archivos.

Cuando ejecutas cualquier comando en la terminal, el sistema crea un proceso para ejecutarlo. Incluso servicios del sistema como servidores web, gestores de red o demonios del sistema funcionan como procesos.

Programa vs proceso

Es importante diferenciar entre programa y proceso.

  • Programa: archivo ejecutable almacenado en disco.
  • Proceso: instancia en ejecución de ese programa.

Por ejemplo, cuando ejecutas el comando ls, el sistema carga el programa desde disco y crea un proceso para ejecutarlo.

Identificar procesos con ps

El comando más básico para ver procesos es ps.

ps

Este comando muestra los procesos asociados al terminal actual.

Para ver todos los procesos del sistema normalmente se utiliza:

ps aux

Este comando muestra información detallada sobre todos los procesos del sistema.

Columnas importantes

  • USER: usuario propietario del proceso.
  • PID: identificador único del proceso.
  • %CPU: porcentaje de CPU utilizado.
  • %MEM: porcentaje de memoria utilizada.
  • COMMAND: comando que originó el proceso.

Monitorizar procesos en tiempo real

Para observar procesos en tiempo real se utiliza el comando top.

top

Este comando muestra el uso de CPU, memoria y procesos activos en tiempo real.

Una alternativa más moderna y visual es htop.

htop

Procesos padre e hijo

Los procesos en Linux están organizados en forma de árbol. Cada proceso tiene un proceso padre que lo ha creado.

Podemos visualizar esta estructura con el comando:

pstree

Esto permite entender cómo se relacionan los procesos dentro del sistema.

Finalizar procesos

Para finalizar procesos se utiliza el comando kill, que envía señales al proceso.

Primero necesitamos conocer el PID del proceso.

kill PID

Este comando envía la señal SIGTERM, que solicita al proceso que finalice de forma ordenada.

Si el proceso no responde, se puede forzar su cierre con:

kill -9 PID

El sistema /proc

Linux expone información sobre los procesos a través del sistema de archivos virtual /proc.

Cada proceso tiene un directorio con su PID.

ls /proc

Dentro de estos directorios se encuentra información detallada sobre memoria, estado del proceso, archivos abiertos y otros recursos.

Laboratorio práctico de procesos

Vamos a realizar un pequeño experimento para entender cómo funcionan los procesos.

Crear un proceso

sleep 300

Este comando crea un proceso que permanece activo durante cinco minutos.

Buscar el proceso

ps aux | grep sleep

Finalizar el proceso

kill PID

Buenas prácticas

  • No utilizar kill -9 como primera opción.
  • Monitorizar procesos que consumen mucha CPU o memoria.
  • Revisar periódicamente el estado del sistema con herramientas como top o htop.
  • Investigar procesos desconocidos antes de eliminarlos.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Nivel:

archivos arranque backup buscar completa conexiones configuración copiar copias de seguridad cortafuegos cpu deshabilitar disco escaneo espacio espacio ocupado filtrar firewall habilitar herramienta incremental inicio interfaz lectura listar log mantenimiento monitorización monousuario patrones procesos pruebas ram recursos red redes seguridad servicios sincronización sockets tcp texto udp uso ver