linux中fork函数与vfork函数的区别

news2024/12/26 23:32:03

fork函数跟vfork函数一样能够创建进程,它们主要有两个区别

(1)区别一:

vfork直接使用父进程存储空间,不拷贝。

(2)区别二:

vfork保证子进程先运行,当子进程调用exit退出后,父进程才执行。

 一直运行子进程

调用exit退出子进程

运行三秒后父进程开始运行

代码如下:

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


int main()
{
    pid_t pid;

    int cnt = 0;
    
    pid = vfork();
        
    if(pid > 0)
    {
        while(1){
            printf("cnt=%d\n",cnt);
            printf("this is father precess, pid = %d\n",getpid());
            sleep(1);
        }    
    }
    
    else if(pid == 0){
        
        while(1){
            printf("this is chilid precess, pid = %d\n",getpid());
            sleep(1);
            cnt++;
            if(cnt == 3){
                exit(0);
                break;
            }
        }    
    }

    return 0;
}

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

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

相关文章

【读论文】AT-GAN

【读论文】AT-GAN 介绍网络架构生成器IAMSTM 辨别器 损失函数SEM损失内容损失结构损失对抗损失 总结参考 论文&#xff1a;https://www.sciencedirect.com/science/article/pii/S156625352200255X 如有侵权请联系博主 介绍 大概是刚开学的时候就读到一篇文章&#xff0c;看完…

Nginx静态资源传输优化,文件高效传输,事半功倍

1.引出问题 Nginx可以作为静态资源服务器&#xff0c;比如我们访问192.168.110.97:80&#xff0c;熟悉的nginx欢迎界面&#xff0c;这其实也是nginx为我们提供的一个静态文件&#xff1a;index.html。 既然是静态资源&#xff0c;那我们能否优化一下传输效率呢&#xff1f; 1…

训练计划安排(练一休一训练分化+倒金字塔训练法)【了解即可,一般人容量不用练一休一,看抖音@孙悟饭桶】

目录 练一休一训练分化每次训练的组数12-15组 &#xff08;4-5个动作&#xff09;QA 倒金字塔训练法倒金字塔热身正式组常见误区&#xff1a; 训练补剂bcaa咖啡因肌酸蛋白粉 如何降低皮质醇水平如何提升睾酮水平文献出处睡眠8h摄入适量脂肪&#xff08;0.8g每公斤体重&#xff…

java APT原理及APT实战 - 一步步教你写ButterKnife

一、定义 Java APT 是 Java 技术设计的一个 APT 架构&#xff0c; APT&#xff08;Annotation Processing Tool&#xff09;即注解处理器&#xff0c;它是一种处理注解的工具&#xff0c;也是javac中的一个工具&#xff0c;用于在编译阶段未生成class之前对源码中的注解进行扫…

Windows巧用git实现笔记自动备份

Windows巧用git实现笔记自动备份 准备git仓库配置自动上传脚本设置 Windows 自动定时任务参考文献 准备git仓库 安装git&#xff1a;https://git-scm.com/downloads&#xff1a; 注册并登录gitee&#xff0c;本地生成ssh key&#xff08;详情百度&#xff09;&#xff0c;然后…

数据处理Pandas学习笔记(一)

import pandas as pdpandas值series创建 t pd.Series([1, 2, 31, 12, 3, 4]) t0 1 1 2 2 31 3 12 4 3 5 4 dtype: int64type(t)pandas.core.series.Seriesseries指定索引 t2 pd.Series([1,23,3,2,3],indexlist(abcde)) t2a 1 b 23 c 3 d …

【Java-05】常用API、正则表达式、Collection集合

主要内容 BigInteger类BigDecimal类Arrays类包装类String类的常用方法正则表达式Collection集合 1 BigInteger类 1.1 概述 概述 : java.math.BigInteger类是一个引用数据类型 , 可以用于计算一些大的整数 , 当超出基本数据类型数据范围的整数运算时就可以使用BigInteger了。…

类别无关的姿态估计ECCV2022

现有的2D姿态估计工作主要集中在某一类别&#xff0c;例如人类、动物和车辆。然而&#xff0c;有很多应用场景需要检测unseen对象类的姿态&#xff08;或关键点&#xff09;。因此作者提出CAPE任务&#xff08;Category-Agnostic Pose Estimation&#xff09;&#xff0c;该任务…

Sketch哪个版本好用?

使用最新版本的 Sketch 是很有意义的。一方面&#xff0c;最新版本通常会有新的功能和改进&#xff0c;使设计师更方便地完成工作。另一方面&#xff0c;使用最新版本还可以避免出现因版本不兼容而无法打开源文件的问题。此外&#xff0c;最新版本通常会更稳定&#xff0c;因此…

Linux command(sar)

说明 sar命令是一个系统性能监测工具&#xff0c;用于收集、报告和分析系统的各种资源使用情况。以下是sar命令的基本用法&#xff1a; sar [选项] [时间间隔] [次数] 选项&#xff1a;可用的选项包括-a&#xff08;显示所有资源使用情况&#xff09;、-b&#xff08;显示I/…

图片修复增强调研

Real-ESRGAN 工程地址&#xff1a;https://github.com/xinntao/Real-ESRGAN 效果&#xff1a; 人脸增强部分&#xff0c;调用的GFPGAN. GFPGAN 工程地址&#xff1a;https://github.com/TencentARC/GFPGAN 论文效果&#xff1a; BasicSR-ESRGAN&#xff1a; 项目地址&a…

[Qt编程之Widgets模块] -001: QButtonGroup抽象容器

1.QButtonGroup简介 QButtonGroup提供了一个抽象容器&#xff0c;可以将按钮小部件放入其中。它不提供此容器的可视化表示&#xff0c;而是管理组中每个按钮的状态。 互斥按钮组&#xff0c;将关闭除已单击的按钮外的所有可选中&#xff08;可切换&#xff09;按钮。默认情况下…

免费使用GPT-4.0?【AI聊天 | GPT4教学】 —— 微软 New Bing GPT4 申请与使用保姆级教程

目录 认识 New Bing 2. 注册并登录 Microsoft 账号 3. 如何免科学上网使用 New Bing&#xff1f; 4. 加入 WaitList 候补名单 5. 使用 New Bing&#xff01; 6. 使用 Skype 免科学上网访问 New Bing&#xff01; 7. 在 Chrome 浏览器中使用 New Bing&#xff01; 8. 总…

如何利用splice()和slice()方法操作数组

如何利用splice&#xff08;&#xff09;和slice&#xff08;&#xff09;方法操作数组 前言splice()是什么&#xff0c;有什么用&#xff1f;怎么用&#xff1f;slice()是什么&#xff0c;有什么用&#xff1f;怎么用&#xff1f;splice和slice方法的区别小结 前言 splice&am…

如今的Android就业率惨不忍睹~

3月底公司大裁员&#xff0c;投了一个月简历&#xff0c;一天投个几十份简历&#xff0c;而收到面试通知的就那么三四家&#xff0c;要么就是薪水给得很低不想去&#xff0c;要么就是高薪水的Offer拿不下&#xff0c;而自己中意公司的却没有给出回应,唉……真难啊&#xff01;&…

4.2 线性表顺序表

目录 目录结构 线性表 线性表的特征&#xff1a; 顺序表存储结构的表示 顺序表存储结构的特点 顺序存储结构的表示 线性表的基本运算 基本运算的相关算法 线性表的基本运算 线性表 目录结构 线性表 线性表是包含若干数据元素的一个线性序列 记为&#xff1a; L(a0, …

Istio virtual service 故障注入之延时(fixedDelay)、中断(abort)

Istio 故障注入 Istio 故障注入与其他在网络层引入错误&#xff08;例如延迟数据包或者直接杀死 Pod&#xff09;的机制不同&#xff0c;Istio 允许在应用程序层注入故障。这使得可以注入更多相关的故障&#xff0c;比如 HTTP 错误代码等。 Istio 可以注入两种类型的故障&…

iLO初识

文章目录 什么是iLO&#xff1f;为什么需要iLO&#xff1f;iLO界面介绍风扇状态温度状态存储控制器的电池组件cpu状态内存状态网络设备列表存储状态固件状态 什么是iLO&#xff1f; iLO&#xff08;Integrated Lights-Out&#xff09;是一种远程管理技术&#xff0c;用于管理和…

第7章链接:7.1 编译器驱动程序

示例程序由两个源文件组成&#xff0c;main.c 和 swap.c。 main函数初始化一个两元素的整数数组&#xff0c;然后调用swap函数来交换这一对数。 main.c void swap();int buf[2] {1, 2};int main() {swap();return 0; }swap.c extern int buf[];int *bufp0 &buf[0]; i…

Android系统日志3-trace

1、使用 主要追踪耗时&#xff0c;如上图所示&#xff0c;记录的是traceBegin和traceEnd之间的耗时&#xff0c;这些日志信息可以通过systrace查看 2、获取trace日志 https://developer.android.com/topic/performance/tracing/command-line?hlzh-cn https://developer.andr…