130 likes | 256 Views
Realizado por: Kepa Bengoetxea kepa.bengoetxea@ehu.es. Gestión de Procesos. Referencias: -Descripción Funcional de los Sistemas Operativos.-Iñaki Alegria -UNIX.Programación Avanzada.-Manuel Márquez -http://www-gris.det.uvigo.es/~belen/pem/apuntes/node19.html. Gestión de Procesos.
E N D
Realizado por: Kepa Bengoetxea kepa.bengoetxea@ehu.es Gestión de Procesos
Referencias: -Descripción Funcional de los Sistemas Operativos.-Iñaki Alegria -UNIX.Programación Avanzada.-Manuel Márquez -http://www-gris.det.uvigo.es/~belen/pem/apuntes/node19.html Gestión de Procesos
Control de Procesos • Comando “sleep” : comando que nos permite realizar una temporizacion. Sintaxis: sleep 15 provoca una espera de 15 sg-s • Comando “tee” : comando que nos permite desdoblar la salida estandar a la propia salida y a un fichero. Útil para dejar constancia de los pasos intermedios en un encauzamiento complejo. Ejm: who | tee desordenado | sort | tee ordenado
Control de Procesos • Comando "at" permite la ejecución diferida de un grupo de comandos y una vez. Su demonio es atd. • Síntaxis: at <hora> <comando> at -l (lista de trabajos programados) at -d <n>quita el trabajo n de la lista man at $ at now +2 minutes at> echo kaixo > /home/kepa/Desktop/kaixo.txt at> <EOT> job 2 at 2003-05-14 17:26
Control de Procesos • Comando "crontab", permite ejecutar un programa periódicamente. Su demonio es crond, y este asume que el sistema esta activo siempre. • Posibles usos: • copias automáticas de los directorios /home y /etc • Guardar cada pocos minutos todos los usuarios conectados a un servidor y el historial de conexión. • Programar que se apague la máquina a una hora. • Actualizar los paquetes de un repositorio por la noche
Control de Procesos • Sintaxis: crontab -e ,se crea un archivo en “/var/spool/cron/crontabs/usuario ,cada fila 6 campos separados por un espacio: 1.-Minutos 0-59 2.-Horas 0-23 3.-Día del mes 1-31 4.-Mes 1-12 5.-Día de la semana 0 o 7(domingo) a 6 (sabado) 6.-Comando a ejecurar
Control de Procesos • Ejm:crontab -e # m h dom mon dow command * * * * * /home/kepa/pru
Control de Procesos • Opciones "crontab": -l muestra el archivo de crontab actual -e editar el archivo de crontab -r elimina su archivo crontab -u <usuario> (solo root)
Control de Procesos • Posibles valores: * es cualquier 2-6(rango) 2,4,6(lista de valores) */5 (cada 5 minutos,horas...)
Control de Procesos • Crontab prederterminados: En la carpeta /etc vamos a encontrar las carpetas cron.hourly,cron.daily...., todo script que incluyamos en ellas se ejecutará cada hora, día etc, de la forma más sencilla. less /etc/crontab SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 4 * * * root cd / && run-parts --report /etc/cron.daily
Control de Procesos • Ejm: Ejecutará los comandos de prueba todos los días cd /etc/cron.daily/ vi prueba echo kaixo > /home/kepa/Desktop/kaixo.txt • Logs: • El fichero log esta en: less /var/log/syslog Dec 3 15:51:01 euiti-desktop /USR/SBIN/CRON[6136]: (euiti) CMD (/home/kepa/pru) Dec 3 15:51:01 euiti-desktop /USR/SBIN/CRON[6135]: (euiti) MAIL (mailed 35 bytes of output but got status 0x0001 )
Control de Procesos • Comando "anacron": Es usado para sistemas en los que el ordenador no va estar encendido todo el día, por lo que no se sabe si el ordenador estará activo en esas horas. Para ordenadores domésticos. Fichero de configuración: /etc/anacrontab: periodo retardo identificador-tarea comando SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root #periodo retardo identificador-tarea comando 1 5 cron.daily nice run-parts --report /etc/cron.daily 7 10 cron.weekly nice run-parts --report /etc/cron.weekly @monthly 15 cron.monthly nice run-parts --report /etc/cron.monthly
Control de Procesos • Cada vez que ejecuta anacron, comprueba si una determinada tarea se ha ejecutado en los últimos “n” días (especificado por el periodo ). Si no es así, esperará una cantidad de minutos (especificado por el retardo), antes de ejecutar el comando asociado a la tarea. • Logs: Te dice cuando se ha ejecutado por última vez ls /var/spool/anacron/ cron.daily cron.monthly cron.weekly less cron.daily 20071203