【回眸】技术干货——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!