Linux系统下C语言fork函数使用案例

一、fork函数的作用

    生成一个子进程,异步执行某个任务;

二、子进程的作用

  1、子进程能复制一份父进程的变量、函数;

  2、子进程可以和父进程同时并发执行;

  函数语法:

pid_t   fork()

说明:调用后返回一个进程的代号;

三、使用案例

  fork函数需要unistd.h库函数。

#include<stdio.h>
#include<unistd.h>

// 测试fork()函数的使用 
// 适用于linux系统 
int main(){
    int i = 10;
    
    // 创建子线程;
    // 父进程和子进程拥有后面相同的代码,但是不共享数据值; 
    pid_t  t = fork();
    
    // 大于0,此时运行的是父进程 
    if(t > 0) {
        i = i + 2;
        printf("父进程执行:%d\n", i);
    } else if(t == 0) {
        // 等于0,此时运行的是子进程 
        i = i + 5;
        printf("子进程执行:%d\n", i);
    } else {
        printf("子进程创建失败。");
    }
    
    return 0;
}

说明:

  1、 pid_t 是int或者long long类型的别名;

  2、fork()函数创建一个子进程,返回pid_t类型;

  3、父进程和子进程的pid_t变量是不相同的;

  4、父进程和子进程在fork()函数执行后,运行相同的代码,但是用返回的pid_t类型值来判断是父进程还是子进程;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL中的CREATE TABLE LIKE和CREATE TABLE SELECT

MySQL中的CREATE TABLE LIKE和CREATE TABLE SELECT CREATE TABLE LIKECREATE TABLE SELECT CREATE TABLE LIKE CREATE TABLE ... LIKE可以用来复制表结构&#xff0c;源表上的索引和约束也会复制。CREATE TABLE ... LIKE不能复制表数据。CREATE TABLE ... LIKE只能复制基表&…

Java开发者指南:深入理解HotStuff新型共识算法

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、全栈领域优质创作者、高级开发工程师、高级信息系统项目管理师、系统架构师&#xff0c;数学与应用数学专业&#xff0c;10年以上多种混合语言开发经验&#xff0c;从事DICOM医学影像开发领域多年&#xff0c;熟悉DICOM协议及…

opencv图像处理之指纹验证

一、简介 在当今数字化时代&#xff0c;生物识别技术作为一种安全、便捷的身份验证方式&#xff0c;正广泛应用于各个领域。指纹识别作为生物识别技术中的佼佼者&#xff0c;因其独特性和稳定性&#xff0c;成为了众多应用场景的首选。今天&#xff0c;我们就来深入探讨如何利…

wfs.js之h264转码mp4分析

准备源文件 下载源文件 git clone https://github.com/ChihChengYang/wfs.js.git编译后得到wfs.js这个文件 调用 在demo/index.html中&#xff0c;前端对wfs.js进行了调用 var video1 document.getElementById("video1"), wfs new Wfs(); wfs.attachMedia…

协程 Coroutine

协程是 C20 引入的新特性。 文章目录 基本概念std::coroutine_handlepromise 类型co_yield 基本用法 优势异步 TCPco_await 基本概念 协程&#xff08;Coroutine&#xff09;是一种比线程更加轻量级的并发编程模型。协程的调度由程序员手动控制。 异步不是并行&#xff0c;但…

uniapp中的流式输出

一、完整代码展示 目前大多数的ai对话都是流式输出&#xff0c;也就是对话是一个字或者多个字逐一进行显示的下面是一个完整的流式显示程序&#xff0c;包含的用户的消息发出和ai的消息回复 <template><view class"chat-container"><view class&quo…

洛谷题单1-P5703 【深基2.例5】苹果采购-python-流程图重构

题目描述 现在需要采购一些苹果&#xff0c;每名同学都可以分到固定数量的苹果&#xff0c;并且已经知道了同学的数量&#xff0c;请问需要采购多少个苹果&#xff1f; 输入格式 输入两个不超过 1 0 9 10^9 109 正整数&#xff0c;分别表示每人分到的数量和同学的人数。 输…

JS 手撕题高频考点

前端面试中&#xff0c;JS 手撕题是高频考点&#xff0c;主要考察 编程能力、算法思维、JS 核心知识。以下是最常见的手撕题分类 代码示例&#xff1a; 目录 &#x1f4cc; 1. 手写函数柯里化&#x1f4cc; 2. 手写 debounce&#xff08;防抖&#xff09;&#x1f4cc; 3. 手写…

【STM32】知识点介绍一:硬件知识

文章目录 一、电源引脚简介二、电平信号三、电路分析 一、电源引脚简介 VCC、GND、VDD和VSS是电子电路中常见的术语&#xff0c;代表着不同的电源引脚或电压。 VCC&#xff08;Voltage at the Common Collector&#xff09;&#xff1a;VCC是指集电极&#xff08;Collector&am…

3. 列表元素替换

【问题描述】给定一个列表&#xff0c;将列表中所有的偶数替换为0 【输入形式】输入一行&#xff0c;包含若干个整数&#xff0c;用空格分隔 【输出形式】输出替换后的列表&#xff0c;每个元素用空格分隔 【样例输入】1 2 3 4 5 6 7 8 9 10 【样例输出】1 0 3 0 5 0 7 0 9…

问题的根源还是解题的方案

周末的早上照例是要早醒 debug 代码的&#xff0c;仿佛又回到了 2014 年… 古人几天甚至几个月不洗澡&#xff0c;不会臭吗&#xff1f;有没有可能古人没有化纤类衣服&#xff0c;且古人的纯天然生活环境其身体菌群和现代人不同&#xff0c;古人就像健康的野生动物一样即使不洗…

虚拟机安装linux系统无法上网的解决方法

在虚拟环境中运行Linux系统时&#xff0c;有时会遇到网络连接问题&#xff0c;特别是在使用虚拟机软件如VMware或VirtualBox时。本文将详细介绍一种针对“虚拟机安装Linux系统无法上网”问题的解决方案&#xff0c;以CentOS 6.5为例&#xff0c;适用于其他基于NAT模式的虚拟机环…

子网划分浅度解析

文章目录 ip地址的组成不同类型ip地址的范围子网掩码默认子网掩码子网掩码如何作用的&#xff1f;默认子网掩码怎么作用&#xff1f; ip地址的组成 ip地址一般写作4位点分十进制&#xff08;x.x.x.x&#xff09;&#xff0c;他们由32位二进制组成&#xff0c;每个x由8位二进制…

什么是 SEO(搜索引擎优化)?

您有网站吗&#xff0c;或者您正在考虑创建一个网站&#xff1f;您想吸引更多人加入您的业务吗&#xff1f;如果答案是肯定的&#xff0c;那么毫无疑问&#xff1a;SEO 应该是您营销工作的一部分。这是建立品牌和吸引用户访问您的网站的好方法。但它实际上意味着什么呢&#xf…

鸿蒙HarmonyOS NEXT设备升级应用数据迁移流程

数据迁移是什么 什么是数据迁移&#xff0c;对用户来讲就是本地数据的迁移&#xff0c;终端设备从HarmonyOS 3.1 Release API 9及之前版本&#xff08;单框架&#xff09;迁移到HarmonyOS NEXT&#xff08;双框架&#xff09;后保证本地数据不丢失。例如&#xff0c;我在某APP…

【现代深度学习技术】现代卷积神经网络04:含并行连接的网络(GoogLeNet)

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上&#xff0c;结合当代大数据和大算力的发展而发展出来的。深度学习最重…

【ESP32】ESP32与MQTT通信:实现传感器数据监测与设备控制

ESP32与MQTT通信 1 项目概览2 硬件组成3 MQTT协议解析MQTT协议简介MQTT核心概念本项目中的MQTT应用 4 MQTT Broker选择EMQX Broker其他常用MQTT Broker 5 代码解析初始化与配置MQTT消息处理发布传感器数据 6 MQTT话题TOPIC设计7 EMQX的优势在IoT项目中的体现8 MQTT通信流程9 应…

[特殊字符]《Curve DAO 系统学习目录》

本教程旨在系统学习 Curve DAO 项目的整体架构、核心机制、合约设计、治理逻辑与代币经济等内容&#xff0c;帮助开发者全面理解其设计理念及运作方式。 目录总览&#xff1a; 1. Curve 项目概览 • 1.1 Curve 是什么&#xff1f;主要解决什么问题&#xff1f; • 1.2 与其他…

每天一篇目标检测文献(六)——Part One

今天看的是《Object Detection with Deep Learning: A Review》 目录 一、摘要 1.1 原文 1.2 翻译 二、介绍 2.1 信息区域选择 2.2 特征提取 2.3 分类 三、深度学习的简要回顾 3.1 历史、诞生、衰落和繁荣 3.2 CNN架构和优势 一、摘要 1.1 原文 Due to object dete…

Arthas线上问题诊断器

Arthas是Alibaba开源的java诊断工具 解决问题 这个类从哪个jar 包加载的&#xff1f;为什么会报各种相关的Exception&#xff1f; 遇到问题无法在线上debug&#xff0c;不能直通过加载日志再重新发布 有什么办法可以监控到JVM的实时运行状态&#xff1f; …