Contenidos
POSIX para la gestión de procesos
Identificación de procesos
POSIX identifica cada proceso por medio de un entero único denominado identificador de proceso de tipo pid_t
La función para obtener el identificador del proceso que realiza la llamada es
La función para obtener el identificador del proceso padre es
La función para obtener el identificador de usuario real es
La función para obtener el identificador de grupo real es
Entorno de un proceso
El entorno de un proceso consta de la lista de variables que se pasan al proceso en el momento de empezar su ejecución
Son accesibles a través una variable externa que apunta a una lista de variables de entorno:
Algunas variable de entorno:
- HOME: directorio de trabajo inicial del usuario
- LOGNAME: nombre del usuario asociado al proceso
La función para obtener el valor de una variable de entorno es char
Creación de procesos
La función para crear un proceso es
Devuelve el identificador del proceso hijo al proceso padre y 0 al proceso hijo, devolverá -1 en caso de error
Crea un proceso hijo que ejecuta el mismo programa que el padre. Hereda los ficheros abiertos (se copian los descriptores)
Las funciones para ejecutar un programa (código) distinto son:
Como argumentos se utilizan path, file del nombre del archivo ejecutable y arg como argumentos del ejecutable
Devuelve -1 en caso de error. Si tiene éxito no devolverá ningún valor
Cambia la imagen de memoria del proceso. El mismo proceso ejecuta otro programa pero mantiene los ficheros abiertos
Terminación de procesos
La función para terminar un proceso es
Como argumento se utiliza estado, que es el código de retorno al proceso padre
Finaliza la ejecución del proceso
Se cierran todos los descriptores de ficheros abiertos
Se liberan todos los recursos del proceso
Espera la terminaciçon de un proceso
Las funciones para esperar por la finalización de un proceso hijo son:
Como argumentos se utilizan estado, el identificador de terminación del proceso hijo, pid, identificador del proceso, opciones, identificador de opciones
Devuelve el identificador del proceso hijo ó -1 en caso de error
Permite a un proceso padre esperar hasta que termine la ejecución de un proceso hijo