Tenedor

Definición: ¿Qué significa Fork?

Fork es una función en Unix que se utiliza para generar un duplicado de un proceso en particular creando dos procesos de ejecución simultáneos de un programa. Estos dos procesos se denominan normalmente procesos "padre" y "hijo". Utilizan protocolos multitarea para compartir recursos del sistema.

Techinfo explica Fork

Un gran elemento de la forma en que se implementa la bifurcación es el sistema de copia en escritura que se utiliza para almacenar cambios progresivos en un proceso después de la bifurcación. Normalmente, el código estático no se duplica, sino que se comparte. En el momento en que un proceso modifica el código compartido, los cambios se crean y almacenan por separado. Esto promueve la eficiencia en el uso de procesos bifurcados.

Los desarrolladores también deben ser conscientes de algunos problemas con el uso de fork para generar un proceso duplicado. Uno de ellos es el problema de los programas multiproceso; Debido a que el proceso hijo solo hereda un único hilo, puede haber problemas relacionados con lo que sucede con varios hilos cuando se llama a la función fork. Quienes han trabajado con la función fork suelen mencionar estas y otras consideraciones.