Procesos
en
Linux

ADMINISTRACIÓN LINUX

Un proceso es un programa en ejecución; es una instancia del programa corriendo.

 

Puede estar ejecutando instrucciones de código, leyendo archivos, ejecutando otros programas o recibiendo datos de un usuario del sistema.

ADMINISTRACIÓN LINUX

La multitarea se refiere a la forma que el sistema operativo ejecuta múltiples procesos (o tareas) en la misma computadora sin interferir unos con otros.

 

Linux es del tipo Time-Sharing que permite gestionar la multitarea por costos razonables.

 

Linux gestiona la multitarea por "derecho de preferencia" (preemptive). El Scheduller asigna a cada proceso un prioridad de ejecución y la re-asigna al finalizar los estados running

ADMINISTRACIÓN LINUX

ADMINISTRACIÓN LINUX

Tipo de procesos

Foreground processes
- Programas interactivos

Son iniciados y controlados desde una sesión de terminal

 

Background processes
- Programas no-interactivos o automáticos

Son procesos que no están controlados por una terminal (o procesos dettached)

ADMINISTRACIÓN LINUX

Tipos de procesos

ADMINISTRACIÓN LINUX

Daemons    (Disk And Execution Monitor)
- Background processes

AKA: "servicios", "programas residente"

Tipo especial de proceso en background que se inicia a partir de un fork y es persistente y se re-inicia en caso de terminar.

Tipos de procesos (2)

ADMINISTRACIÓN LINUX

&

run ....  Ctrl-Z (stopped) .... bg 

bg

fg

jobs

Foreground + Background

ADMINISTRACIÓN LINUX

Process ID

ADMINISTRACIÓN LINUX

PID
- Process ID

 

PPID
- Parent Process ID
 

  • Parent processes - Procesos que crean procesos
  • Child processes - Procesos creados por otros procesos

Process ID

ADMINISTRACIÓN LINUX

ps

pgrep

Identificando procesos

ADMINISTRACIÓN LINUX

Estado de los procesos

ADMINISTRACIÓN LINUX

  • Running – con instrucciones siendo ejecutadas por el procesador, o esperando para ejecutar instrucciones por el procesadora
  • Sleeping – Esperando un evento: I/O.  El kernel diferencia procesos:
    interruptible
    non interruptible
  • Stopped – Detenido en un punto (por señal)
  • Zombie – Proceso en la tabla que el kernel no determina su estado

Estado de los procesos

ADMINISTRACIÓN LINUX

Señales a los procesos

las señales permiten cambiar el estado de los procesos

 

kill
es un comando para enviar señales a los procesos

ADMINISTRACIÓN LINUX

$ kill -l

 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL
 5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE
 9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2
13) SIGPIPE     14) SIGALRM     15) SIGTERM     16) SIGSTKFLT
17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU
25) SIGXFSZ     26) SIGVTALRM   27) SIGPROF     28) SIGWINCH
29) SIGIO       30) SIGPWR      31) SIGSYS      34) SIGRTMIN
35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3  38) SIGRTMIN+4
39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6
59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

ADMINISTRACIÓN LINUX

kill

pkill


killall

Señales

ADMINISTRACIÓN LINUX

Prioridad de procesos

* Solo root puede iniciar o asignar prioridades <0

ADMINISTRACIÓN LINUX

nice

renice

ionice

Prioridades

ADMINISTRACIÓN LINUX

Monitoreo de performance

ADMINISTRACIÓN LINUX

top

htop

uptime

vmstat

iostat

netstat

Herramientas varias:

df

free

Sobre esta presentación

Atribución 4.0 Internacional (CC BY 4.0)

https://creativecommons.org/licenses/by/4.0/deed.es

ADMINISTRACIÓN LINUX