TEMA3
TEMA3
TEMA3
Introducción
En el sistema operativo Linux los procesos pueden ser
administrados utilizando herramientas de monitoreo y
otras que nos permiten matar o lanzar procesos.
Proceso PPID
bash
1 PPID
PPID
PID1 PPID
1
200 1
Procesos: PID
Cuando un proceso es creado se le asigna un número
(PID) y es añadido a la tabla de procesos y cuando el
proceso concluye es retirado de la tabla.
Linux mantiene en memoria una tabla de procesos, con
información de los procesos activos.
ENTRADA DE
TABLA DE PROCESOS TABLA DE PROCESOS
..............
.......... PID
..............
PPID
..........
UID
NPROC ..............
..........
Prioridad
..............
Estado
.......... ...
..............
..........
..............
..........
Genealogía de Procesos
Un proceso que genera nuevos procesos es llamado
padre.
El nuevo proceso es llamado proceso hijo.
El proceso “mingetty” es hijo del proceso “init”.
Proceso Proceso
init Padre bash Padre
Proceso Proceso
mingetty Hijo
cat Hijo
Genealogía de Procesos
En Linux los procesos se crean mediante
una llamada (call) al sistema, la petición
crea otro proceso: “fork”.
HIJO
PPID
bash PPID
1 PPID
PPID exec(date) date
1 PPID exit( )
PID1 PPID PPID
1 PID1 PPID
300 200 1
300 200
Comando ingresado:
$ date
PADRE
PPID
bash PPID
bash PPID
1 PPID
PPID fork( ) 1 PPID
PPID wait(hijo)
bash
1 PPID
PID1 PPID PID1 PPID PPID
1 1 PID1 PPID
200 1 200 1 1
200 1
Sleep Sleep
Procesos Demonios
Son procesos que el sistema inicia para realizar
tareas básicas en forma periódica.
Estos procesos no están asociados con un
terminal (tty) en particular.
Algunos procesos demonios conocidos son los
siguientes:
init (PID 1) : Padre de todos los procesos
cron : Tareas automática
lpd : Demonio de Impresión LPR
Proceso Init
Es el proceso padre de todos los procesos del sistema.
Permanece en ejecución mientras funciona el sistema.
Durante el proceso de encendido lee el archivo de
configuración “/etc/inittab” que inicia el resto de
procesos.
Hay varios niveles de ejecución, desde 0 hasta 6, las
cuales se puede invocar manualmente.
# init <nivel_ejecución>
Ejemplo:
# init 0
# init 1
Tema 2:
Herramientas de Monitoreo
Herramientas de Monitoreo
Los programas utilizados en el monitoreo del
sistema son los siguientes:
ps
free
top
w
sar
Comando “ps”
Muestra el estado de los procesos activos.
Es usado frecuentemente para saber el PID
de un proceso “colgado”
$ ps -t <terminal>
$ ps -ef
$ ps -t pts/0
# ps -aux
Comando “free”
Muestra la cantidad y uso de la memoria del
sistema
# free
total used free shared buffers cached
Mem: 78452 72360 6092 64 17676 13064
-/+ buffers/cache: 41620 36832
Swap: 204468 1812 202656
#w
Control de Procesos
Procesos en Background : &
Se ingresa el símbolo & después del comando.
# find / -name “*tmp” >resul &
Ejemplos:
kill -15 1020 // terminación condicional
kill -9 1020 // terminación incondicional
Automatización de tareas: comando “at”
Ejecuta un comando una sola vez en un tiempo
determinado.
at <hora> [fecha] [incremento]
hora : hhmm (14:00), now, midnight
fecha : mes dia [año] (Feb 14), monday, today,
tomorrow
incremento : +n mins, hrs, days.
Se ejecuta /bin/script01 todos los días 4 de cada mes, a las 14:10 horas
Comando “crontab”
.cronfile
0,15,30,45 * * * 1-5 df -v>/tmp/df_log
0 3 * * 2-6 /u/larry/dayly_backup