Professional Documents
Culture Documents
Implantacióón de Sistemas Operativós: T3P8: Control de Procesos
Implantacióón de Sistemas Operativós: T3P8: Control de Procesos
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?
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?
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?
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?