Creando un proceso hijo usando fork() en Python

Cree un proceso secundario y muestre la identificación del proceso tanto del proceso principal como del secundario.

El uso de la llamada al sistema de bifurcación crea un nuevo proceso, que se denomina proceso secundario , que se ejecuta simultáneamente con el proceso (proceso denominado bifurcación de llamada al sistema) y este proceso se denomina proceso principal . Después de crear un nuevo proceso secundario, ambos procesos ejecutarán la siguiente instrucción después de la llamada al sistema fork().

Biblioteca utilizada:
os : el módulo OS en Python proporciona una forma de usar la funcionalidad dependiente del sistema operativo. Las funciones que proporciona el módulo del sistema operativo le permiten interactuar con el sistema operativo subyacente en el que se ejecuta Python; ya sea Windows, Mac o Linux. Se puede importar como –

import os

Llamada al sistema utilizada:

  • fork() : fork() es una operación mediante la cual un proceso crea una copia de sí mismo. Suele ser una llamada al sistema, implementada en el kernel.
  • getpid() : getpid() devuelve el ID de proceso (PID) del proceso de llamada.
  • A continuación se muestra el programa de Python que se implementa anteriormente:

    # Python code to create child process 
    import os
      
    def parent_child():
        n = os.fork()
      
        # n greater than 0  means parent process
        if n > 0:
            print("Parent process and id is : ", os.getpid())
      
        # n equals to 0 means child process
        else:
            print("Child process and id is : ", os.getpid())
              
    # Driver code
    parent_child()
    

    Producción :

    Child process and id is :  32523
    Parent process and id is :  32524
    

    Nota: La salida puede variar de vez en cuando, de máquina a máquina o de proceso a proceso.

    Publicación traducida automáticamente

    Artículo escrito por Sharad_Bhardwaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *