Red de conocimiento informático - Problemas con los teléfonos móviles - Espera y espera el código fuente

Espera y espera el código fuente

Este es un problema de sincronización entre procesos. La solución es: un proceso hijo de fork ejecuta una llamada al sistema y el proceso padre llama a esperar o esperarpid para esperar la información de terminación del proceso hijo.

Cuando un proceso padre llama a wait o waitpid, puede:

Bloquear (si todos sus procesos hijos todavía se están ejecutando).

La información de terminación del proceso de cinta se devuelve inmediatamente (si el proceso hijo ha terminado, esperará a que el proceso principal lea su información de terminación).

Si ocurre un error, regresa inmediatamente (si no tiene ningún proceso hijo).

La diferencia entre las funciones wait y waitpid es:

Si todos los procesos secundarios del proceso principal aún se están ejecutando, llamar a wait bloqueará el proceso principal, mientras que llamar a waitpid puede impedir que el proceso principal proceso del bloqueo y devuelve inmediatamente 0 si se especifica WNOHANG en el parámetro de opciones.

Wait espera el primer proceso hijo terminado. waitpid puede especificar qué proceso hijo esperar a través del parámetro pid.