美文网首页
操作系统第一次上机实验-Linux系统下的进程创建

操作系统第一次上机实验-Linux系统下的进程创建

作者: Summer2077 | 来源:发表于2020-10-29 11:05 被阅读0次

    本文使用Linux系统,语言使用C语言

    1.如何在Linux系统下,编译运行C语言

    1.1创建编写一个.c文件 如a.c

    1.2编译.c 文件

    gcc a.c -o a.out
    

    1.3运行.c文件

    ./ a.out
    

    2.实验

    2.1实验一:创建进程

    #include <stdio.h>
    
    int main(){
        int p1,p2,i;
        while((p1=fork())==-1);
    
        if(p1==0){
            for(i=0;i<10;i++){
                printf("daugter %d ,pid= %d\n",i,getpid());     
            }   
        }else{
            while((p2=fork())==-1);
            if(p2==0){
                for(i=0;i<10;i++){
                    printf("som %d ,pid= %d\n",i,getpid());                 }       
            }else{
                for(i=0;i<10;i++){
                    printf("parent %d ,pid= %d\n",i,getpid());              
                }
            }
        }
        return 0;   
    }
    

    结果:


    捕获.PNG

    2.2实验二:创建进程,增加sleep语句使结果交叉

    #include <stdio.h>
    int main() {
        int p1, p2, i;
        while ((p1 = fork()) == -1);
        /*创建进程 p1*/
        if(p1 == 0) {
            for (i = 0; i < 8; i++) {
                printf("daughter %d \n", i);
                sleep(4);
            }
        } else {
            while ((p2 = fork()) == -1);
            /*创建进程 p2*/
            if (p2 == 0) {
                for (i = 0; i < 8; i++) {
                    printf("son %d \n", i);
                    sleep(4);
                }
            } else {
                for (i = 0; i < 8; i++) {
                    printf("parent %d \n", i);
                    sleep(4);
                }
            }
        }
        return 0;
    }
    

    结果:


    2.3实验二:创建进程,增加sleep语句使结果交叉

    相关文章

      网友评论

          本文标题:操作系统第一次上机实验-Linux系统下的进程创建

          本文链接:https://www.haomeiwen.com/subject/garkvktx.html