Download as odt, pdf, or txt
Download as odt, pdf, or txt
You are on page 1of 4

Implantacióó n de Sistemas Operativós 2017-2018

T3P8: Control de procesos


Nombre y apellidos:
(*) Indica las ordenes exactas que hayan de utilizarse para resolver los siguientes ejercicios.

1. Nos interesa tener disponible un nuevo comando que sea equivalente a ls -la. Para ello vamos a crear un
archivo llamado lf que contendrá el texto ls -la --color en su interior. Dale los permisos de ejecución y
prueba a ejecutarlo con ./
Una vez verificamos que funciona correctamente, queremos poder utilizar este comando desde
cualquier lugar del sistema, para ello, averigua en que carpeta se encuentra el programa ls y copia el
programa lf a esta misma carpeta. Comprueba que ahora puedes ejecutar lf sin necesidad de ./

2. Ejecuta el comando nano datos.txt después introduce algún texto y, sin guardar, para el programa
(ctrl+z).
Utiliza un comando para ver los procesos que hay en segundo plano o detenidos, y observa la etiqueta
de trabajo que se le ha asignado al programa nano abierto anteriormente.
Utiliza un comando para volver el programa nano a primer plano (foreground)
Implantacióó n de Sistemas Operativós 2017-2018

3. Ejecuta el comando gedit datos2.txt. Una vez abierta la aplicación gedit escribe algo de texto en dicha
aplicación. ¿Podemos continuar usando la terminal?
Si desde la terminal detenemos la aplicación (ctrl+z) ¿Qué le ocurre a la aplicación gedit?
¿Cómo haremos para continuar editando texto y recuperar el control de gedit teniendo también
disponible el uso de la terminal?

No se
puede seguir usando la terminal mientras está la aplicación abierta.
Con ctrl-z la aplicación se detiene.
Con bg podemos usar las dos cosas.

4. ¿Con que comando de la terminal podemos ejecutar la aplicación gedit directamente en segundo plano
(background) y por tanto seguir utilizando la terminal sin problemas?

5. Ejecuta el comando sleep 60 directamente en el background. Inmediatamente después utiliza el


comando kill para parar el proceso (no matarlo). Verifica que el proceso está detenido con el comando
jobs. Por último vuelve a poner en background el proceso detenido, y muestra que ha finalizado
correctamente con el comando jobs.
Implantacióó n de Sistemas Operativós 2017-2018

6. Ejecuta directamente en background varios comandos sleep 60. Mátalos todos con un solo comando

7. Ejecuta directamente en background el comando sleep 300. Cierra la terminal. Abre otra terminal y
comprueba con el comando ps -aux que ha pasado con el comando sleep.
Vuelve a realizar el ejercicio haciendo uso ahora del comando nohup. ¿Qué pasará con el programa
sleep una vez cierras y vuelves a abrir otra terminal?

8. Averigua cuantos procesos tiene tu usuario en ejecución

9. ¿Qué diferencia hay entre la opción -a y la opción -x del comando ps?

-a muestra los procesos de otros usuarios.


-x muestra procesos que no están controlados por ninguna terminal.

10. Ejecuta en una terminal el comando top, y abre otra para realizar las siguientes acciones:
a) Ejecuta el comando find / y observa que efecto tiene sobre la carga del sistema. Para el comando
con ctrl+c

b) Ejecuta el comando xcalc directamente en background. ¿Qué efecto tiene sobre la carga del
sistema? Indica varias opciones para matar este proceso.

c) Lista todos los archivos que contengan la cadena “.txt” dentro de la estructura de directorios del
sistema. Usa la orden ls y grep. Observa el PID del proceso ls. Por último mata el proceso ls sin
forzarlo.
Implantacióó n de Sistemas Operativós 2017-2018

11. Cuando se programa utilizando procesos, lo correcto es que los procesos “padre” esperen la señal de
sus procesos hijo (en caso de que mueran antes los hijos, el propio padre los borra de la tabla de
procesos) Muchas veces esto no es así, los hijos mueren antes y el padre no hace nada. Esto convierte
el hijo muerto en un zombie.
a) Descarga el archivo zombie disponible en el moodle y descomprímelo.
b) Ejecuta el programa directamente en background y observa con el comando top que tenemos un
zombie en la tabla de procesos.
c) Averigua la PID del zombie utilizando el comando ps. Intenta matarlo con KILL -9. ¿Qué ocurre
si volvemos a mirar la lista con ps?
d) ¿Qué ocurre cuando el padre termina su ejecución pasados los 60 segundos?

12. Explica la diferencia entre un proceso zombie y un proceso huérfano.

Proceso zombie es el que se muere pero no se elimina por completo de la memoria.


Proceso huérfano es cuando el padre muere antes de que los procesos hijos se acaben.

13. (Antes de hacer este último ejercicio asegúrate de tener todos los documentos guardados para no
perder nada) ¿Qué acción lleva a cabo el comando kill -9 -1 ? ¿Y el comando sudo kill -2 1?

You might also like