Gestión de Procesos en Sistemas Linux

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,27 KB

Un programa es un conjunto de instrucciones y datos almacenados en un archivo. Cuando se carga en memoria para ejecutarse, se convierte en un proceso. El sistema operativo asigna recursos a los procesos (memoria, procesador, entrada/salida, etc.) para su correcta ejecución. Cada proceso tiene un identificador único (PID - Process Identifier) asignado por el núcleo. Además del PID, cada proceso tiene un PPID (Parent PID) que identifica al proceso padre, y un PGID que identifica al grupo de procesos relacionados.

Estados de un Proceso

Ejecutándose: En sistemas con un solo procesador, solo un proceso puede estar en este estado a la vez. Linux permite compartir la CPU entre varios procesos, dividiendo el tiempo de procesador en cuantos y asignándolos a cada proceso.

  • Durmiendo: El proceso espera un recurso o la finalización de una operación de E/S.
  • Listo: El proceso está listo para ejecutarse y espera la asignación de la CPU por el planificador.

Linux define los siguientes estados:

  • D: Ininterrumpible (entrada/salida)
  • S: Dormido (sleeping)
  • R: Ejecutándose (running)
  • T: Parado (stop)
  • X: Muerto (dead)
  • Z: Zombie (en proceso de defunción)

Comandos para la Gestión de Procesos

ps

Muestra información sobre los procesos en ejecución. Sin argumentos, muestra los procesos asociados al terminal actual.

Sintaxis: ps [argumentos]

Ejemplo: ps -ax

Campos:

  • uid: Identificador del usuario
  • pid: Identificador del proceso
  • ppid: Identificador del proceso padre
  • c: Recursos de CPU utilizados recientemente
  • stime: Instante de inicio
  • tty: Terminal asociado
  • time: Tiempo de CPU asignado
  • command: Nombre del programa/proceso
  • pri: Prioridad
  • ni: Valor nice (prioridad). Un valor positivo indica menor tiempo de CPU
  • vsz: Tamaño en memoria virtual
  • rss: Tamaño en memoria (KB)
  • stat: Estado

kill

Envía señales a procesos.

Sintaxis: kill [-señal] PID [PID...]

Señales comunes:

  • 1 (SIGHUP): Hangup (cierre de terminal)
  • 2 (SIGINT): Interrupción (Ctrl+C)
  • 3 (SIGQUIT): Salida (Ctrl+\)
  • 4 (SIGILL): Instrucción ilegal
  • 5 (SIGTRAP): Depuración
  • 6 (SIGIOT): Fallo hardware
  • 7 (SIGEMT): Fallo hardware
  • 8 (SIGFPE): Error en coma flotante
  • 9 (SIGKILL): Terminación inmediata
  • 10 (SIGBUS): Error de acceso a memoria
  • 11 (SIGSEGV): Violación de segmento
  • 12 (SIGSYS): No se usa
  • 13 (SIGPIPE): Escritura en pipe sin lector
  • 14 (SIGALRM): Temporizador
  • 15 (SIGTERM): Terminación
  • 16 (SIGUSR1): Usuario
  • 17 (SIGUSR2): Usuario
  • 18 (SIGCHLD): Muerte de hijo
  • 19 (SIGPWR): Fallo de alimentación

nice

Ajusta la prioridad de un proceso.

Sintaxis: nice [-N] orden

nohup

Ejecuta un proceso en segundo plano.

Sintaxis: nohup orden &

sleep

Pausa la ejecución.

Sintaxis: sleep segundos

time

Mide el tiempo de ejecución.

Sintaxis: time orden [argumentos]

w

Muestra información de usuarios y procesos.

fg

Trae un proceso en segundo plano al primer plano.

top

Monitoriza procesos en tiempo real.

free

Muestra el estado de la memoria.

uptime

Muestra el tiempo de actividad del sistema.

Entradas relacionadas: