当前位置: 首页 > news >正文

Linux--进程--vfork与fork区别

vfork:

所需头文件:
#include <sys/types.h>

#include <unistd.h>

pid_t vfork(void);
功能:

vfork() 函数和 fork() 函数一样都是在已有的进程中创建一个新的进程,但它们创建的子进程是有区别的。

参数:

返回值:

成功:子进程中返回 0,父进程中返回子进程 ID。pid_t,为无符号整型。

失败:返回 -1。

与fork区别:

1.fork(): 父子进程的执行次序不确定。

   vfork():保证子进程先运行,在它调用 exec(进程替换) 或 exit(退出进程)之后父进程才可能被调度运行。

2.fork(): 子进程拷贝父进程的地址空间,子进程是父进程的一个复制品。

   vfork():子进程共享父进程的地址空间(准确来说,在调用 exec(进程替换) 或 exit(退出进程) 之前与父进程数据是共享的)

总结:vfork先运行子进程,遇到exit退出运行父进程;

            fork父子进程争夺先后运行次序


代码:

注意退出子进程要用exit函数,不然会破坏内存;造成data错误

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>int main()
{pid_t pid;int fd = 0;int data = 0;while(1){printf("please input data,1 creats child process\n");scanf("%d",&data);if(data == 1){fd = fork();if(fd==0){while(1){printf("do net request,pid = %d\n",getpid());sleep(2);}}}else {	printf("do nothing  wait please \n");}}return 0;
}

结果:

相关文章:

Linux--进程--vfork与fork区别

vfork&#xff1a; 所需头文件&#xff1a;#include <sys/types.h> #include <unistd.h> pid_t vfork(void); 功能&#xff1a; vfork() 函数和 fork() 函数一样都是在已有的进程中创建一个新的进程&#xff0c;但它们创建的子进程是有区别的。 参数&#xff…...

Ubuntu系统重装nvidia gpu驱动

1. 卸载原驱动 sudo apt remove *cuda* sudo apt remove *nvidia* sudo /usr/bin/nvidia-uninstall sudo dpkg -l | grep ^rc | cut -d -f3 | sudo xargs dpkg --purge sudo rm -rf ~/.cuda-license-* sudo apt purge nvidia-cuda-toolkit sudo apt remove nvidia-driver-* s…...

Java + Selenium + Appium自动化测试

一、启动测试机或者Android模拟器&#xff08;Genymotion俗称世界上最快的模拟器&#xff0c;可自行百度安装&#xff09; 二、启动Appium&#xff08;Appium环境安装可自行百度&#xff09; 三、安装应用到Genymotion上&#xff0c;如下图我安装一个计算机的小应用&#xff…...

【sgLazyCascader】自定义组件:基于el-cascader的懒加载级联菜单,支持异步加载子级菜单

sgLazyCascader源码 <template><div :class"$options.name"><el-cascader :props"props" v-model"model" :placeholder"placeholder || 请选择" :options"options"></el-cascader></div> &l…...

2023高教社杯数学建模E题思路模型 - 黄河水沙监测数据分析

# 1 赛题 E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响&#xff0c; 以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位…...

一、Linux下常用的压缩格式

一、Linux下常用的压缩格式 ​ Linux下常用的压缩扩展名有&#xff1a;.tar、.tar.bz2、.tar.gz。 二、Windows下7ZIP软件的安装 ​ 因为Linux下很多文件是.bz2&#xff0c;.gz结尾的压缩文件&#xff0c;因此需要在windows下安装7ZIP软件。 三、gzip压缩工具 .gzip工具负…...

MySQL 查询 - 排除某些字段的SQL查询,提升查询性能

序言 某些时候&#xff0c;需要查询拥有很多很多字段的表&#xff0c;但是查询表时&#xff0c;其中有一些不需要查询的字段&#xff0c;会增加查询的负担&#xff0c;所以这时候&#xff0c;就需要排除这些冗余的字段&#xff0c;指定需要的字段查询&#xff0c;提升查询性能…...

国产信创服务器如何进行安全可靠的文件传输?

信创&#xff0c;即信息技术应用创新&#xff0c;2018年以来&#xff0c;受“华为、中兴事件”影响&#xff0c;国家将信创产业纳入国家战略&#xff0c;并提出了“28n”发展体系。从产业链角度&#xff0c;信创产业生态体系较为庞大&#xff0c;主要包括基础硬件、基础软件、应…...

ARTS第五周:S - 数据编织 Data fabric

Brife ​数据编织/数据经纬&#xff08;Data Fabric&#xff09;是一种新型的数据管理和治理方法&#xff0c;旨在连接和整合所有数据源和数据目标&#xff0c;实现数据的无缝移动和访问。它是一种跨平台、跨云、跨技术的解决方案&#xff0c;可以连接各种类型的数据&#xff0…...

基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力与项目科研水平教程

详情点击链接&#xff1a;基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力与项目科研水平教程 一&#xff0c;空间数据获取与制图 1.1 软件安装与应用 1.2 空间数据 1.3海量空间数据下载 1.4 ArcGIS软件…...

Spring Boot 介绍

Spring Framework的发展和Spring Boot Spring 3 支持Java注解Spring 4 支持 Java 8, 同时推出Spring Boot Spring Boot 简化了Spring配置。Spring Boot是什么? Boot 翻译有靴子,启动的意思, 在计算机领域有引导的意思, 比如计算机启动引导或是Linux 的引导程序。 Spring B…...

mysql基于AES_ENCRYPTAES_DECRYPT实现密码的加密与解密

1.直接使用AES_ENCRYPT&&AES_DECRYPT函数导致的问题。 执行语句 select AES_ENCRYPT(cd123,key) 结果 加密过后的字符串是一串很奇怪的字符。 尝试使用上面加密过后的字符解密。 select AES_DECRYPT(u5£d|#,key) 结果 并未成功的解密 2.解决办法 使用 hex(…...

怎么把pdf转换成jpg图片?

怎么把pdf转换成jpg图片&#xff1f;在工作中&#xff0c;如果我们收到无法修改编辑的PDF文件&#xff0c;可能会遇到一些困难。尤其是当平台或网站只支持JPG图片格式&#xff0c;而领导又要求我们将pdf文件改为JPG格式时&#xff0c;情况就更为棘手了。这对于我们打工一族来说…...

计算机脚本的概念,如何编写、使用脚本 (Script)?

一、脚本的概念和使用场景 在计算机领域的脚本&#xff0c;指的是使用一种特定的描述性语言&#xff0c;依据一定的格式编写的可执行文件脚本语言又被称为扩建的语言或者动态语言, 是一种编程语言, 用来控制软件应用程序, 脚本通常是以文本 (ASCⅡ) 保存, 只是在被调用时进行解…...

c语言 5.0

&#x1f482; 个人主页: 程序员爱摸鱼&#x1f91f; 版权: 本文由【程序员爱摸鱼】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注点赞收藏(一键三连)哦&#x1f485; 想寻找共同成长的小伙伴&#xff0c;可以互粉哦 &#x1f4ac;文章目录…...

如何配置远程访问以在外部网络中使用公司内部的OA办公系统——“cpolar内网穿透”

文章目录 前言1. 确认在内网下能够使用IP端口号登录OA办公系统2. 安装cpolar内网穿透3. 创建隧道映射内网OA系统服务端口4. 实现外网访问公司内网OA系统总结 前言 现在大部分公司都会在公司内网搭建使用自己的办公管理系统&#xff0c;如OA、ERP、金蝶等&#xff0c;员工只需要…...

【AI】机器学习——线性模型(线性回归)

线性模型既能体现出重要的基本思想&#xff0c;又能构造出功能更加强大的非线性模型 文章目录 3.1 线性模型3.1.1 数据3.1.2 目标/应用 3.2 线性回归3.2.1 回归模型历史3.2.2 回归分析研究内容回归分析步骤 3.2.3 回归分析分类3.2.4 回归模型3.2.5 损失函数梯度下降法一元回归模…...

智能小车之跟随小车、避障小车原理和代码

目录 1. 红外壁障模块分析​编辑 2. 跟随小车的原理 3. 跟随小车开发和调试代码 4. 超声波模块介绍 5. 摇头测距小车开发和调试代码 1. 红外壁障模块分析 原理和循迹是一样的&#xff0c;循迹红外观朝下&#xff0c;跟随朝前 TCRT5000传感器的红外发射二极管不断发射红外…...

行业追踪,2023-09-07

自动复盘 2023-09-07 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…...

Qt creator中项目的构建配置和运行设置

使用 Qt Creator 集成开发环境构建和运行程序是一件非常简单的事情&#xff0c;一个按钮或者一个快捷键搞定全部&#xff0c;大家已经都了解了。但是&#xff0c;这些看起来简单的过程&#xff0c;背后到底发生了什么呢&#xff1f; 点击 Qt Creator 项目模式&#xff0c;可以…...

企业级应用如何利用Taotoken实现多模型灾备与负载均衡

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业级应用如何利用Taotoken实现多模型灾备与负载均衡 1. 场景与挑战 在企业级应用中&#xff0c;大模型API的调用已成为许多核心…...

通过curl命令快速测试与调试大模型API接口

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过curl命令快速测试与调试大模型API接口 在开发或集成大模型应用时&#xff0c;有时我们需要绕过高级SDK&#xff0c;直接与API进…...

Barlow字体:54种样式打造专业级设计效果,提升你的视觉表达力

Barlow字体&#xff1a;54种样式打造专业级设计效果&#xff0c;提升你的视觉表达力 【免费下载链接】barlow Barlow: a straight-sided sans-serif superfamily 项目地址: https://gitcode.com/gh_mirrors/ba/barlow Barlow是一款源自加州公共视觉美学的专业字体家族&a…...

OpenClaw 换 “大脑”!DeepSeek V4 默认集成,离线私有 AI 自由

OpenClaw 接入 DeepSeek 模型完整配置教程 一、前置准备 已安装并正常运行 OpenClaw Windows 客户端&#xff1b;OpenClaw 顶部 Gateway 状态保持在线&#xff1b;电脑网络正常&#xff0c;可稳定访问 DeepSeek 开放平台&#xff1b;准备可接收验证码的手机号或微信账号&…...

如何高效使用DazToBlender插件:专业3D资产迁移的完整实战指南

如何高效使用DazToBlender插件&#xff1a;专业3D资产迁移的完整实战指南 【免费下载链接】DazToBlender Daz to Blender Bridge 项目地址: https://gitcode.com/gh_mirrors/da/DazToBlender 你是否曾经为在Daz Studio和Blender之间转移3D角色而苦恼&#xff1f;DazToBl…...

抖音批量下载助手:高效构建个人视频素材库的完整解决方案

抖音批量下载助手&#xff1a;高效构建个人视频素材库的完整解决方案 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 在内容创作成为主流表达方式的今天&#xff0c;视频素材的获取和管理成为创作者面临的核…...

09_AI审计平台设计:从风险识别出发而非从底稿编号出发

09 AI审计平台设计&#xff1a;从风险识别出发而非从底稿编号出发摘要&#xff1a;如果你打开一个审计系统&#xff0c;首页显示的是E1000、E2000、E3000这些底稿编号&#xff0c;那这个系统的设计者一定没搞明白审计师每天到底在想什么。我做了八年审计系统UX设计&#xff0c;…...

小爱音箱音乐播放限制破解实战:从基础配置到高级玩法深度解析

小爱音箱音乐播放限制破解实战&#xff1a;从基础配置到高级玩法深度解析 【免费下载链接】xiaomusic 使用小爱音箱播放音乐&#xff0c;音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 你是否曾经对着小爱音箱说"播放周杰伦…...

Input Overlay:免费开源直播输入显示插件终极指南

Input Overlay&#xff1a;免费开源直播输入显示插件终极指南 【免费下载链接】input-overlay Show keyboard, gamepad and mouse input on stream 项目地址: https://gitcode.com/gh_mirrors/in/input-overlay 在游戏直播、教学演示或技术分享中&#xff0c;观众最常问…...

穆斯堡尔谱—固态研究中不可或缺的工具

...