Sie sind auf Seite 1von 13

PRACTICA DE PROCESOS

Realizado por: Miguel Amate Garca

PRACTICA DE PROCESOS

Gestin de procesos
1. Estudia la orden uptime:

Cunto tiempo lleva en marcha el sistema?

Lleva en marcha 34 minutos.

Cuntos usuarios hay trabajando? Hay 4 usuarios trabajando

Qu orden ofrece en su cabecera la misma informacin que uptime? El comando top:

O la orden w:

PRACTICA DE PROCESOS

2. La orden pstree muestra el rbol de procesos que hay en ejecucin. Comprueba haciendo uso de la orden ps -la y de los valores PID y PPID mostrados para cada proceso, que efectivamente los procesos son padre e hijo. Probamos lanzando en un terminal gedit &(en segundo plano) que nos mostrar lo siguiente:

Aqu podemos ver el PID y el PPID (nmero que hace mencin a su proceso padre):

Y con pstree comprobamos que el proceso bash es el padre del proceso gedit:

3. En muchos casos nos interesar cortar columnas. Recuerda el uso de tr y cut. Por ejemplo, cmo funciona esta instruccin?
ps aux | tr -s | cut -f 2,11 -d ps aux: Lista los procesos de todos los usuarios. tr -s : Elimina los espacios en blanco duplicados. Cut -f: Corta la informacin por las columnas que nos interesa obtener informacin

PRACTICA DE PROCESOS

PRACTICA DE PROCESOS

4. Crea el fichero /tmp/bucle con el siguiente contenido:


#!/bin/bash echo nada > /dev/null exec /tmp/bucle

Ejecuta la orden top en una terminal y comprueba el estado del sistema, a continuacin lanza /tmp/bucle en otra. Observa cmo cambia el estado del sistema al lanzar el script. En una tercera terminal, comprueba con ps los procesos en ejecucin. Lanzamos el comando top, y despus ejecutamos el script y volvemos a consultar top:

Vemos como cambia:

PRACTICA DE PROCESOS

Usando la combinacin de teclas Control-Z para el proceso bucle. Una vez parado comprueba que la informacin mostrada por top va cambiando, hasta llegar un momento en el que no muestra informacin sobre dicho proceso. Fjate que ha aumentado el nmero de procesos parados.

Reinicia el proceso con la orden fg y comprueba que vuelve a aparecer la informacin sobre el proceso.

PRACTICA DE PROCESOS

Observa si mientras est en ejecucin ese proceso cambia la carga media del sistema. Aumenta considerablemente:

Por qu aparece siempre el proceso bucle con el mismo PID si se lanza a s mismo una y otra vez durante su ejecucin? Aparece siempre con el mismo PID debido a que lo que hacemos es enviarle una seal para detener el proceso y no enviarle una de matar el proceso.

Cambia la velocidad de refresco de top a 2s. Mediante el comando top presionamos la tecla d y metemos el tiempo que deseemos:

PRACTICA DE PROCESOS

Desde el top, cambia la prioridad del proceso, dndole un valor menor, por ejemplo 10. Presionamos la tecla r y metemos el PID del proceso

Le adjudicamos la prioridad 10:

Y vemos como cambia el valor de la prioridad y el valor por el cual se establece una prioridad para el proceso (NI)

Usando la orden nice lanza otro proceso bucle con la prioridad de 5.

PRACTICA DE PROCESOS

Observa que la CPU se le asignar ms al segundo bucle lanzado, que tiene ms prioridad, que al primero que se ejecut, que tiene menos prioridad.

Asigna mediante renice una prioridad de 19 al bucle que lanzaste con prioridad 5. Cmo afecta esto a la ejecucin de los dos procesos?

Ahora es el primero el que usa mayor porcentaje de CPU ya que tiene mayor prioridad que el que hemos relanzado.

Desde el top mata el bucle con prioridad 10. Fjate que ahora, a pesar de que el que queda tiene prioridad 19, se le asigna ms de la CPU que antes. Presionamos la letra k , nos pide el PID del proceso y metemos el nmero 15 que enviar una seal a proceso para que finalice:

Haciendo uso de la orden kill, para el proceso bucle que an queda en ejecucin. Despus, usando tambin kill reandalo y, finalmente, elimnalo. Enviamos distintas seales para pararlo y otra para reanudarlo:

Y lo eliminamos de la siguiente manera:

PRACTICA DE PROCESOS

5. Estudia el uso que se hace de la CPU, con mpstat, y el uso de memoria, con vmstat, que estn haciendo en este momento los procesos en ejecucin. Para que el sistema tenga tareas a realizar y acceso al disco al mismo tiempo, ejecuta la siguiente orden: find / -type f -exec cat {} > /dev/null \; Primero debemos instalar sysstat:

Ahora ejecutamos los dos comandos antes de ejecutar la orden:

Y ahora despus de ejecutar la orden:

PRACTICA DE PROCESOS

6. Prueba las opciones de ulimit. Ten en cuenta que una vez establecido un lmite con ulimit no es posible establecer un nuevo lmite mejor, para cambiar a un valor mejor es necesario finalizar ese intrprete de rdenes. Recuerda que los valores establecidos son por intrprete de rdenes.

Limita el nmero de ficheros abiertos a 2. A continuacin ejecuta la orden ls. Qu est sucediendo?

ulimit obtiene y modifica los lmites del usuario,

Limita el tamao del fichero core a 2K.

Limita el nmero de procesos en ejecucin a 1. Ejecuta a continuacin una orden, por ejemplo, ps. Qu est sucediendo?

10

PRACTICA DE PROCESOS

Qu podemos hacer para que tengan efecto siempre sobre cierto usuario? (Pista: ficheros profile). Mediante el uso de un script en el .profile del usuario que queramos le indicamos mediante un ulimit el nmero de procesos que queramos tener abiertos simultneamente.

7. Ordenes: at, atq, atrm. (Para poder recibir un correo cuando una orden programada con at se ejecute es necesario que est en ejecucin el demonio sendmail).

Si el demonio atd no est en ejecucin, lnzalo para poder hacer este ejercicio.

Programa con la orden at un ls / dentro de unos minutos. Comprueba cmo te avisa de que la orden ha sido ejecutada. Una vez escrita la orden ejecutamos control+d

Programa con la orden at un ls /tmp > $HOME/salidatmp dentro de unos minutos. Comprueba cmo te avisa de que la orden ha sido ejecutada.

11

PRACTICA DE PROCESOS

Utiliza la orden atq para averiguar que hay en la cola y atrm para eliminar trabajos que hayan sido encolados.

8. Con la orden free averigua el estado de la memoria principal y de intercambio del sistema en este momento.

12