TEMA3

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 38

Administración de Procesos y Tareas

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.

 Adicionalmente como apoyo a la administración


contamos con la creación de archivos de logs que
almacenan la información de las aplicaciones y
procesos.
Objetivos
 Entender la definición de procesos.
 Conocer el ciclo de vida de un proceso.
 Entender los procesos demonios.
 Utilizar herramientas para administrar procesos.
 Configurar el demonio syslog para la creación de
logs.
Tema 1:
Procesos
Contenido
 Definición de Proceso.
 Genealogía de Procesos.
 Procesos Demonios.
 Procesos Huérfanos y Difuntos.
 Herramientas de Monitoreo: ps, free, top, w, sar.
 Control de procesos.
 Automatización de tareas: at y crontab.
Procesos
 Un proceso es un programa en ejecución, utiliza recursos del
sistema (procesador, memoria, hardware periférico) y esta
identificado con un PID.

 Todos los programas que corren bajo Linux son procesos.


 Por ejemplo, el Shell de un usuario, como bash, es un

proceso que se ejecuta mientras está conectado al


sistema.
Procesos: PID
 Cada proceso es identificado por un ID:
 PID: Process Identification
 Cada proceso tiene un proceso padre
identificado por:
 PPID: Parent Process Identification

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

PID TTY TIME CMD


18667 pts/0 00:00:00 login
18668 pts/0 00:00:00 bash
18744 pts/0 00:00:00 su
18804 pts/0 00:00:00 gunzip
Comando “ps”
 Las opciones más utilizadas son ps –aux, donde:
 a: Muestra también los procesos iniciados por los otros usuarios;

 x: Muestra también los procesos sin terminal de control alguna

(esto se aplica a casi todos los servidores);


 u: Muestra, para cada proceso, el nombre del usuario que lo

inició y la hora a la cual fue iniciado.

# 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

Se puede utilizar el argumento -b, -k, -m y -g para mostrar los valores


en Bytes, KB, MB y GB.
Monitor del Sistema Gnome
Comando “top”
# top
Comando “w”
 Muestra que están haciendo los usuarios en el
sistema.
 Además muestra promedio de carga (uptime)
 PCPU : tiempo que se está ejecutando un comando

#w
Control de Procesos
 Procesos en Background : &
 Se ingresa el símbolo & después del comando.
 # find / -name “*tmp” >resul &

 Terminación de Procesos: kill


 # kill -señal PID

 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.

 Ej. $ at now + 2 min <Enter>


sort /etc/passwd > /tmp/arch.tmp
<ctrl> + d
Parámetros del comando “at”

Parámetros del comando at


Hora Fecha Incrementos
Hrs (1,2 digitos) Mes día año +n mins
Hrs:min (3,4 digitos) Dia de la semana +n hrs
Hrmin (3,4 digitos) Today +n days
Now Tomorrow +n weeks
Noon +n months
Midnight +n years
Next
Comando “crontab”
 Ejecuta en forma regular un comando en una fecha y
tiempo determinado.
 Los comando que se van a ejecutar se guardan en
un archivo.
 Este archivo consta de seis campos y puede contener
varios comandos.
10 14 4 * * /bin/
script01
minutos horas día del mes día de la comando
0-59 0-23 mes 1-12 semana
1-31 0-6
0=Domingo

Se ejecuta /bin/script01 todos los días 4 de cada mes, a las 14:10 horas
Comando “crontab”

$ crontab -e Edita el archivo crontab

.cronfile
0,15,30,45 * * * 1-5 df -v>/tmp/df_log
0 3 * * 2-6 /u/larry/dayly_backup

minutos horas día del mes día de la comando


0-59 0-23 mes 1-12 semana
1-31 0-6
0=Domingo

$ crontab -l lista las tareas


$ crontab -r cancela crontab
Tema 3:
Archivos de Log
Contenido
 Archivos logs:
 Tipos
 Visualización.
 Elementos de Verificación.
 Modos de Recuperación.
 Modo Mantenimiento.
 Disco de Inicio.
 Entorno de Rescate.
Archivos Log
 El sistema operativo deja información a cerca
del núcleo, los servicios, las aplicaciones y lo
que está ocurriendo en el sistema.

 Esta información es muy importante para


detectar intentos no autorizados, como se
comporta un manejador, seguridad,
estadísticas, detección de problemas, etc.
Demonio syslogd
 Algunos de los archivos log son controlados
por el demonio llamado syslogd, que utiliza
el fichero de configuración /etc/syslog.conf.
que mantiene una lista de archivos log.

 Los mensajes del núcleo los recoge klogd y


se pasan a syslogd para que los escriba.
Tipos de archivos de log
 Existen diferentes archivos que registran lo
que está ocurriendo en el sistema, entre los
cuales podemos mencionar :
 messages
 secure
 boot.log
 wtmp
 lastlog
 btmp
Visualizando los archivos Log
 Algunos archivos log están en formato texto y
pueden visualizarse con el comando less o un
editor de texto.
 Existen algunos comandos que permiten obtener
información de los archivos log. Entre ellos
tenemos:
 last : Nos da información acerca de los últimos
usuarios que han entrado en el sistema (wtmp).
 lastlog: Muestra la última vez que cada usuario entró
al sistema (lastlog).
 lastb: Muestra los intento de ingreso fallido (btmp)
Archivo log “messages”
 Es el archivo principal para detectar problemas en
el sistema.
 Los mensajes son escritos por el núcleo (kernel).
 Para visualizar los mensajes del núcleo utilizamos
el comando grep:
grep kernel /var/log/messages
 Formato del fichero.
fecha, hora, máquina, proceso que genera el mensaje,
mensaje.
sep 30 19:20:14 serdis kernel Floppy drive(s): fd0 is
1.44M
logrotate
 Para evitar que los archivos log crezcan indefinidamente
con los mensajes, se hace que sean circulares, de forma
que la información se mantiene un cierto tiempo (cuatro
semanas). xxx, xxx.1, xxx.2, xxx.3, xxx.4.
 El paquete logrotate contiene una tarea de cron que
hace circular automáticamente los archivos de log.
 Utiliza el archivo de configuración /etc/logrotate.conf y
los archivos de configuración en el directorio
/etc/logrotate.d
Resumen de la unidad
 Los procesos son monitoreados a través de
herramientas en modo gráfico o de
____________.
 Los procesos demonios no se ejecutan en un
terminal sino en segundo plano.
 Los archivos de log almacenan información
acerca del _______, ejecución de servicios,
aplicaciones, el kernel.

También podría gustarte