Vous êtes sur la page 1sur 1

Sistemas Operativos

Prctica 4
Gestin de procesos. Exec
La llamada al sistema fork crea una copia del proceso que la llama. Muchas aplicaciones
requieren que el proceso hijo ejecute un cdigo diferente del de su padre. La familia de
llamadas al sistema exec, permite substituir la imagen del proceso por un mdulo
ejecutable nuevo. La manera tradicional de utilizar la combinacin fork-exec es dejar que
el hijo ejecute el exec del nuevo programa mientras que el padre contina con la ejecucin
del cdigo original.
Las seis variaciones de la llamada exec se distinguen por la forma en que son pasados los
argumentos de la lnea de comando, las variables de entorno (ambiente del proceso). Execl
(execl, execlp y execle) pasan los argumentos de la lnea de comando como una lista y son
tiles si se conoce el nmero de argumentos de la lnea de comando en el momento de la
compilacin. Las llamadas execv (execv, execvp y execve) pasan los argumentos de la
lnea de comando en un vector de argumentos.
1. Realizar un programa que realice ls l
a. del directorio actual (execl)
b. del directorio $HOME (execlp)
c. del directorio $HOME utilizando el entorno de un proceso (execle)
2. Realizar un programa que ejecute lo que se le pase por parmetro:
a. Ejecuta ls l (execv)
b. Ejecuta ls l (execvp)
c. Ejecuta ls l (execve)
Para todos estos casos, se debe tener un hijo que realice el exec y el padre espere y capture
el estado de finalizacin del hijo. Finalmente el padre imprime Ejecucin satisfactoria o
bien Finalizacin por estado: <valor> en funcin de que acabe bien o mal.
Sabiendo que main acepta un tercer parmetro <env> que es un vector de cadenas de la
forma nombre=valor. Necesitamos usarlo?.
3. Realizar un programa entorno que muestre todas las variables del entorno del
proceso. El objetivo es lanzarlo escribiendo $Ejecuta entorno.

Vous aimerez peut-être aussi