Proceso zombi o Proceso difunto son aquellos Procesos que han completado su ejecución mediante la llamada al sistema exit() pero aún tienen una entrada en la Tabla de procesos . Es un proceso en estado terminado.
Cuando se crea un proceso secundario en UNIX mediante la llamada al sistema fork() , entonces, si de alguna manera el proceso principal no estuviera disponible para obtener el proceso secundario de la tabla de procesos, entonces surge esta situación. Básicamente, Zombie Process no está completamente muerto ni completamente vivo , pero tiene algún estado intermedio.
Dado que hay una entrada para todos los procesos en la tabla de procesos , incluso para Procesos Zombie . Es obvio que el tamaño de la tabla de procesos es finito . Por lo tanto, si se crea una gran cantidad de procesos zombis, la tabla de procesos se llenará y el programa se detendrá sin completar su tarea.
Aquí, nuestra tarea es averiguar el número máximo de procesos zombis creados para que el programa no detenga su ejecución . El enfoque para este problema es crear un proceso zombie dentro de un bucle y contarlo hasta que el programa no detenga la ejecución.
A continuación se muestra la implementación en C de la idea anterior:
// C program to find number of Zombie processes a // system can handle. #include<stdio.h> #include<unistd.h> int main() { int count = 0; while (fork() > 0) { count++; printf("%d\t", count); } }
Producción:
En la imagen, podemos ver que después de 11834 , el incremento de conteo se detiene. Sin embargo, este no es un número fijo, pero vendrá alrededor de él.
Además, dependerá de la configuración y la potencia del sistema.
Este artículo es una contribución de Aditya Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA