Red de conocimiento informático - Conocimiento sistemático - Proceso principal: lanzado [1]

Proceso principal: lanzado [1]

Esta implementación es completamente diferente en Linux y Windows. Porque las funciones de los dos procesos de creación del sistema son diferentes. Entre ellos, la implementación en el entorno Windows es muy complicada.

Te daré dos ejemplos para tu referencia.

Implementación en entorno Linux;

# include & ltstdio.h & gt

int main(int argc, char *argv[])

{

int pid1, pid2

/*Llamar a la función fork para crear el proceso 1*/

if((PID 1 = fork()) & lt; 0 )

{/*Si el valor de retorno de fork() es negativo, el proceso de creación falla*/

printf( "¡ProcessCreate falló!");

Salir(-1);

}

/**

/*Si el valor de retorno de /*fork() es 0 Luego, el subproceso se creó correctamente y el proceso actual es un subproceso.

*/

if ( ( pid1=fork() ) == 0)

{

printf(" b \ n ");//El subproceso 1 genera 'b';

}

/**

/*Crear el subproceso 2

> **/

if((PID 2 = fork())<0)/*Si el valor de retorno de fork() es negativo, el proceso de creación falla*/

{

printf( "¡Error en la creación del proceso!");

Salir (-1);

}

/**

/*Si el valor de retorno de /*fork() es 0, el subproceso se crea correctamente y el proceso actual es un subproceso.

*/

if ( ( pid2=fork() ) == 0)

{

printf(" c \ n "); //El subproceso 2 genera 'c';

}

/*Si el valor de retorno de /*fork() es mayor que 0, el proceso actual es el padre proceso*/

Otros

{

Espera(vacío);

printf(" a \ n "); el proceso principal genera "a";

Salir (0);

}

Devuelve 0; p>Sin escritura Implementación en entorno Windows. Es posible que necesite utilizar la función CreateProcess() incluida en el archivo de encabezado en windows.h para implementar el proceso de creación.