1、函数简介

1)、得到当前的进程id

pid_t getpid();

2)、fork函数

要创建进程,必须调用fork函数, 系统调用fork用于派生一个进程,函数原型如下

         #include<sys/types.h>#include<unistd.h>pid_t fork(void)

若成功,父进程中返回子进程id,子进程返回0;若出错则返回-1,若出错返回0,要注意这是2次返回,由于在复制时复制了父进程的堆栈段,所以两个进程都停留在fork函数中,等待 返回。因此fork函数会返回两次,一次是在父进程中返回,另一次是在子进程中返回,这两次的返回值是不一样的,fork后就复制拉了一个进程,原来进程叫父进程,子进程是父进程的一个拷贝,子进程得到数据段和堆栈段的拷贝,父和子进程数据不共享。

3 )、vfork函数

 #include<sys/types.h>#include<unistd.h>pid_t vfork(void)

linux c之创建进程fork和vfork函数之间的区别相关推荐

  1. linux创建新进程就分配空间,linux几种创建进程的方法

    在Linux中主要提供了fork.vfork.clone三个进程创建方法. 在linux源码中这三个调用的执行过程是执行fork(),vfork(),clone()时,通过一个系统调用表映射到sys_ ...

  2. linux main是什么进程,从创建进程到进入main函数,发生了什么?

    从创建进程到进入main函数,发生了什么? 从创建进程到进入main函数,发生了什么? 前几天,读者群里有小伙伴提问:从进程创建后,到底是怎么进入我写的main函数的? 今天这篇文章就来聊聊这个话题. ...

  3. 关于linuxC语言中创建进程,利用execlp函数执行.c程序问题

    关于linuxC语言中创建进程,利用execlp函数执行.c程序问题 对于一个小白来说,这个系统调用真的太难了,完全摸不着头脑啊,一搜execlp函数,全是执行的命令,什么传参硬是没懂. 不过说到底, ...

  4. Linux系统编程_进程 获取getpid(子),getppid(父),创建(fork,vfork)

    获取进程ID 特殊说明:这些进程仅仅是在Linux下的进程 每个进程都有一个整型的ID号 PID 每个进程都有一个父进程 PPID 一个进程想控制其他进程,想与其他进程通信,需要ID 获取自己的ID ...

  5. linux创建进程fork函数和vfork函数

    #include <unistd.h>pid_t fork(void);#include <sys/types.h>#include <unistd.h>pid_t ...

  6. fork、vfork函数及父进程与子进程

    进程A创建了进程B,则称进程A为父进程,进程B为子进程 #include <stdio.h> #include <sys/types.h> #include <unist ...

  7. [Linux]C语言Linux系统编程创建进程

    1.进程ID 每一个进程都由一个唯一的标识符表示,即进程ID,简称pid.系统保证在某时刻每个pid都是唯一的. 1.1分配进程ID 缺省情况下,内核将进程ID的最大值限制为32768,可以在此处设置 ...

  8. linux基础知识——创建进程

    1.fork函数 \qquad执行一个可执行的程序,就创建一个进程.除此之外,还可以使用fork()函数创建一个子进程. \qquadfork函数的返回值有两个,本质是一个进程变成两个进程,这两个进程 ...

  9. 进程控制1--fork vfork函数

    linux系统调用fork()创建一个和当前进程完全相同的拷贝进程,其中父进程和子进程的代码段,堆栈段,数据段均独立 进程必须的4要点: a.要有一段程序供该进程运行 b.进程专用的系统堆栈空间. c ...

最新文章

  1. 这周末,清华迎来了最小的学生和最牛的老师,Science都点赞的那种
  2. Android View 事件分发机制详解
  3. makefile中的函数
  4. hdu 2563
  5. ie-css3.htc参数无效,ie-css3.htc怎么用?
  6. 一次搞懂WCF 配置文件
  7. 面经 | 无论文、无实习拿下腾讯CV算法岗
  8. rocketmq 几种队列_进阶必看的 RocketMQ ,就这篇了
  9. Python 第三方模块安装出现的问题和解决方案.
  10. 简单使用ember后的几点感想
  11. 新建文本文档出现错误怎么办
  12. python黑底白字的车牌_Python+OpenCV实现车牌字符分割和识别
  13. 【预训练语言模型】WKLM: Pretrained Encyclopedia: Weakly Supervised Knowledge-Pretrained Language Model
  14. 使用turtle画随机颜色的圆圈
  15. 计算机未来目标规划,计算机专业职业生涯规划范文
  16. 我有一个网络工程师的梦
  17. 中国碱性电解二氧化锰市场行业动态与投资规划分析报告2022-2028年
  18. 荣耀手表magic2是否支持鸿蒙,荣耀Magic Watch 2支持哪些运动模式
  19. 数据结构C语言狐狸抓兔子链表实现
  20. ZYNQ7000平台介绍

热门文章

  1. 【Blog.Core开源】快速升级.NET 6.0
  2. 跨平台导PDF,结合wkhtmltopdf很顺手
  3. 微软2020开源回顾:止不住的挨骂,停不下的贡献
  4. 从内存中释放Selenium chromedriver.exe
  5. 基于阿里云日志服务快速打造简版业务监控看板
  6. 微服务认证架构如何演进来的?
  7. 《ASP.NET Core 微服务实战》-- 读书笔记(第10章)
  8. ASP.NETCore编程实现基本认证
  9. 1024程序员节来啦!!.NET技术圈独家优惠劵,折后再折,赶紧来抢啊
  10. Bumblebee微服务网关之并发限制