No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Qué es un proceso en Linux?

25/30
Recursos

Aportes 11

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Daemon (Demonio)

En Linux, un demonio (daemon) es un programa que se ejecuta en segundo plano para realizar tareas que no requieren la intervención del usuario o que se deben realizar de forma continua, como la gestión del sistema, el monitoreo de servicios o la automatización de tareas.

Ejemplos comunes:

  • Servidores web
  • Servidores de bases de datos
  • Servicios de correo electrónico.

Enviar señales a procesos en ejecución

El comando "kill" -  send signal to a process

Al ejecutar el comando kill, se puede enviar una señal específica a un proceso para terminarlo, pausarlo, reanudarlo o realizar otras acciones.

kill <OPTION> <PID>     

# Envia una señal al proceso con el ID especificado, por defecto SIGTERM
-1             
# SIGHUP, reinicia el proceso

-2             
# SIGINT, interrumpe el proceso

-9             
# SIGKILL, termina el proceso de manera forzosa

-15           
 # SIGTERM, termina el proceso de manera normal <opción por defecto>

-19           
 # SIGSTOP, pausa el proceso

-18            
# SIGCONT, reanuda el proceso

Un proceso en Linux es un programa en ejecución en el sistema operativo. Cada proceso es identificado por un número único llamado ID de proceso (PID). El sistema operativo asigna un PID a cada proceso en ejecución y lo utiliza para realizar un seguimiento de su estado y recursos.

Cada proceso tiene su propio espacio de memoria y puede ejecutar de forma independiente. El sistema operativo controla los procesos, asegurándose de que no interfieran entre sí y de que se asignen los recursos adecuados a cada uno.

Los procesos se crean y se destruyen constantemente en un sistema Linux. Algunos procesos son iniciados por el sistema operativo, mientras que otros son iniciados por el usuario. En general, cada tarea que se realiza en un sistema Linux se ejecuta como un proceso.

Puedes ver los procesos en ejecución en tu sistema Linux utilizando el comando ps, que muestra información sobre los procesos activos en ese momento. También puedes utilizar el comando top para ver una lista en tiempo real de los procesos que consumen más recursos en tu sistema.

Historia de Daemon (Demonio)

Proviene del griego antiguo “daimon”, que se refiere a una especie de espíritu divino o sobrenatural que se consideraba intermediario entre los dioses y los humanos.

En la jerga informática, el término “daemon” se adoptó para referirse a programas similares a estos intermediarios sobrenaturales, que trabajan en segundo plano y que no requieren una interacción directa con el usuario. Así, los daemons son programas que se ejecutan como procesos separados del shell y que se inician automáticamente cuando se arranca el sistema.

Nosotros podemos interactuar y comunicarnos con los procesos a través de señales. Hay varias señales, y cada señal tiene un propósito diferente. Para enumerar todas las señales posibles, podemos ejecutar, como usuario root, el comando

kill -L


Observeamos que cada señal tiene un valor numérico. Por ejemplo, 19 es el valor numérico de la señal SIGSTOP

#### **Definición de proceso** * Un proceso es una referencia directa a un programa en ejecución en el sistema. * Representa un software en ejecución, como "cat" o "echo". * Los procesos utilizan recursos como memoria, entrada/salida y procesamiento. #### **Creación de procesos** * Los procesos se crean según el software que se esté ejecutando. * Por ejemplo, abrir un navegador o ejecutar una instrucción en la terminal genera un proceso. #### **Concepto relacionado: demonios** * Los demonios, o "daemons", son procesos que se ejecutan en segundo plano de forma persistente. * Tienen mecanismos para revivirse o ejecutarse automáticamente bajo ciertas condiciones. * Por ejemplo, el demonio de Docker gestiona los procesos relacionados con Docker. #### **Señales en procesos y demonios** * Las señales son comandos de bajo nivel que se envían para interrumpir o comunicar un proceso al kernel. * Permiten gestionar el comportamiento de los procesos, como detenerlos, cambiarlos o copiarlos. * Existen herramientas de alto nivel para gestionar procesos sin necesidad de interactuar directamente con las señales.

Concepto fundamental para los sistemas linux
Es la referencica a un uso de recursos de algo que esta ejecutando un programa.

Derivados de los procesos, existe otro concepto fundamental llamado undemon, son procesos que se ejecutan en segundo plano, que son procesos que no requieren de dirección humana, se reviven bajo condiciones en nuestro sistema.
Por ejemplo, Docker, es un administrador de contenedores, que es para ejecutarlo, esta el demonio de Docker para gestionar los procesos que hace Docker, normalmente se activo cuando inicia el programa, pero podemos matarlos, es decir ejecutar una instrucción para que el demonio no se ejecute de manera tan recurrente.

SEÑALES:
Tanto los procesos, como los demonios, tiene algo llamado señales, que son procesos que enviamos de bajo nivel con comandos específicos e identificadores específicos, que sirven para interrumpir o comunicar un proceso al Kernel.

**¿Qué es un proceso?** **Proceso** Un proceso representa una representa una referencia a un programa ejecutándose dentro de nuestro sistema, el cual puede se controlado y monitoreado. Este hace uso de recursos de memoria, de I/O, de procesamiento, etc. Demonio Son procesos que se ejecutan en segundo plano, ejecutándose de forma persistente o reiniciándose de forma automática bajo ciertas condiciones. Usualmente, se inician en el arranque del sistema
1. Gestión de Servicios del Sistema: Los daemons se utilizan para gestionar servicios del sistema como servidores web, servicios de impresión y servidores de bases de datos Permiten que estos servicios se inicien automáticamente al arrancar el sistema y se ejecuten de manera continua en segundo plano 2. Automatización de Tareas: Los daemons pueden automatizar tareas repetitivas como la limpieza de archivos temporales, la sincronización de datos y la realización de copias de seguridad Esto ayuda a mantener el sistema organizado y eficiente sin intervención manual constante 3. Monitoreo y Registro del Sistema: Muchos daemons están dedicados a monitorear el sistema y registrar eventos importantes como errores, intentos de acceso y rendimiento del sistema Esto es crucial para la seguridad y el mantenimiento del sistema ya que permite a los administradores identificar y resolver problemas 4. Comunicación entre Procesos: Los daemons facilitan la comunicación entre diferentes procesos del sistema actuando como intermediarios para el intercambio de datos y comandos Por ejemplo, el daemon `dbus` permite la comunicación entre aplicaciones y servicios en el sistema 5. Gestión de Recursos de Red: Daemons como `network-manager` o `sshd` gestionan conexiones de red y servicios de acceso remoto Esto es fundamental para la conectividad permitiendo que el sistema se conecte a redes gestione configuraciones de red y proporcione acceso remoto seguro a los usuarios

Bueno, sabia que los procesos cumplen la funcion de referencia de ejecucion de un comando o orden. Lo que me da curiosidad es el metodo de demonio. Lo vere mas adelante y sabre que hace. Espero que no sea malo.

Resumen
¿Qué es un proceso en Linux?

Proceso: Un proceso representa una referencia a un programa ejecutándose dentro de nuestro sistema, el cual puede ser controlado y monitoreado.

Este hace uso de recursos de memoria, de I/O, de procesamiento, etc.

Demonio: Son procesos que se ejecutan en segundo plano, ejecutándose de forma
persistente o reiniciándose de forma automática bajo ciertas condiciones.

Usualmente, se inician en el arranque del sistema.

Señales: Son procesos de bajo nivel que sirven como peticiones en el ámbito de kernel para interrumpir otros procesos.