【操作系统实验】fork函数理解

一、fork()函数的作用

开辟出一块内存空间

二、父进程与子进程

被复制的进程是父进程,复制出来的进程叫子进程

三、注意事项

1.父进程的进程号一定小于子进程(因为肯定先有了父进程,才会有子进程)
2.父进程调用fork()函数的返回值是子进程号
3.子进程调用fork()函数的返回值是0
4.由2,3,可以通过函数返回值来区分是父进程还是子进程

四、实验

要求:编写一段程序,使用系统调用fork( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一句话,观察记录屏幕上的显示结果。

#include <stdio.h>
main()
{
    int p1,p2;
    p1 = fork();
    if(p1 == 0)
    {
        printf( "This is child process 1! pid is %d:\n", getpid());
    }
    else if(p1 > 0)
    {
        printf( "This is parent process! pid is %d:\n", getpid());
        p2 = fork();
        if(p2 == 0)
        {
            printf( "This is child process 2! pid is %d:\n", getpid());
        }
        else if(p2 > 0)
        {
            printf( "This is parent process! pid is %d:\n", getpid());
        }
        else
        {
            printf("fork()error!\n");
        }
    }
    else
    {
       printf("fork()error!\n");
    }
}

结果如下:
在这里插入图片描述

发布了110 篇原创文章 · 获赞 746 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_42437577/article/details/100545598