【回眸】技术干货——Linux内核(十)exec函数配合fork函数使用

前言

exec函数配合fork函数使用,可以实现什么样的功能呢?

实现功能

当父进程检测到输入为1的时候,创建子进程把配置文件的字段值修改掉。

实现思路

思路分解:

test1://1.初始化pid和data

//2.循环向外界获取输入,提示用户输入一个数据

//3.如果data的值为1,创建子进程

//4. 如果pid的值大于0,什么都不做,否则当pid的值为0时

//5. 循环打印在做网络请求,pid的值是getpid()的值,结束后延时3秒

//6.如果pid的值不为1,打印“等待且什么都不做”

代码整理

 #include<stdio.h>
#include<sys/types.h>
#include<unistd.h>

//1.初始化pid和data
//2.循环向外界获取输入,提示用户输入一个数据
//3.如果data的值为1,创建子进程
//4.    如果pid的值大于0,什么都不做,否则当pid的值为0时
//5.    循环打印在做网络请求,pid的值是getpid()的值,结束后延时3秒
//6.如果pid的值不为1,打印“等待且什么都不做”
 int main()
 {
     pid_t pid;
     int data = 10;
     while(1)
     {
        printf("please input a message!\r\n");
        scanf("%d",&data);
        if(data == 1)
        {
            pid = fork();//这里编程的时候写错了写成 fork();
        
            if(pid > 0)
            {

            }
            else if(pid == 0 )
            {
                while(1)
                {
                    printf("do net request!pid = %d\r\n",getpid());
                    sleep(3);
                }
            }
        }
        else
        {
            printf("wait and do nothing!\r\n");
        }

     }


    return 0;
 }

运行过程及结果

可以看到输入1的时候获取子进程的pid

输入其他数字的时候是等待且重新输入。

后记碎碎念

Linux是一个系列,可以点击专栏查看同系列的其他文章,希望能帮到屏幕前的每一位应届生往届生,该博文最初发表在CSDN上。

#校招求职有谈薪空间吗##找工作前vs找工作后的心路变化##26届秋招投递记录##央国企投递记录##租房前辈的忠告#
应届生必学实用物联网技术 文章被收录于专栏

本专栏助应届生从物联网小白成长为企业争抢的技术人才,聚焦三大核心技术:传感器应用(环境监测)、嵌入式开发(STM32/Arduino)、通信协议(LoRa/NB-IoT/MQTT),配合10+实战项目(如智能温湿度监控系统)积累项目经验。覆盖智能硬件、工业物联网、智能家居领域岗位需求,解析企业招聘技术重点与面试题,帮电子、计算机、自动化等专业学生构建知识体系,提前锁定名企Offer!

全部评论

相关推荐

昨天 14:44
济南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务