Función de bifurcación de creación de procesos

#incluir <sys/types.h>

#incluir <unistd.h>

    bifurcación pid_t (vacío);

    Función: Se utiliza para crear procesos secundarios.

    valor de retorno:

        El valor de retorno de fork() se devolverá dos veces. Una vez en el proceso padre y una vez en el proceso hijo.

        En el proceso padre: Devuelve el ID del proceso hijo creado. Devuelve -1 para indicar un error de creación y establece errno.

        En el proceso hijo, devuelve 0.

        Cómo distinguir: valor de retorno a través de fork.

#include <sys/types.h>
#include <unistd.h>
#include<stdio.h>
int main() {
    //创建子进程
    pid_t pid = fork();
    //判断是父进程还是子进程
    if(pid > 0) {
        printf("pid: %d\n", pid);
        printf("I am parent process, pid : %d, ppid : %d\n", getpid(), getppid());
    } else if(pid == 0) {
        printf("I am child process, pid : %d, ppid : %d\n", getpid(), getppid());
    }
    for(int i = 0; i < 5; i++) {
        printf("i : %d\n", i);
    }
    return 0;
}

El proceso hijo y el proceso padre se ejecutan en espacios de memoria separados. En el momento de fork() ambos espacios de memoria tienen el mismo contenido.  Las escrituras en memoria, las asignaciones de archivos (mmap(2)) y las desasignaciones (munmap(2)) realizadas por uno de los procesos no afectan al otro. 

#include <sys/types.h>
#include <unistd.h>
#include<stdio.h>
int main() {
    //创建子进程
    pid_t pid = fork();
    int num = 11;
    //判断是父进程还是子进程
    if(pid > 0) {
        printf("pid: %d\n", pid);
        printf("parent num : %d\n", num);
        num += 10;
        printf("parent num : %d\n", num);
        printf("I am parent process, pid : %d, ppid : %d\n", getpid(), getppid());
    } else if(pid == 0) {
        printf("child num : %d\n", num);
        num += 20;
        printf("child num : %d\n", num);
        printf("I am child process, pid : %d, ppid : %d\n", getpid(), getppid());
    }
    for(int i = 0; i < 5; i++) {
        printf("i : %d\n", i);
    }
    return 0;
}

Compartir al leer, copiar al escribir

 

Supongo que te gusta

Origin blog.csdn.net/ME_Liao_2022/article/details/132914617
Recomendado
Clasificación