博客
关于我
父子进程
阅读量:321 次
发布时间:2019-03-04

本文共 726 字,大约阅读时间需要 2 分钟。

进程共享

父子进程相同处:
全局变量、.data、.text、栈、堆、环境变量、用户ID、宿主目录、进程工作目录、信号处理方式
父子进程不同之处:
进程ID、fork返回值、父进程ID,进程运行时间、定时器、未决槽信号
父子进程间遵循读时共享写时复制的原则,节省内存开销

父子进程不共享全局变量

shared.c

#include
#include
int var=100;int main(int argc,char *argv[]){ pid_t pid=fork(); if(pid==0){ //son printf("var =%d,child,pid=%d,ppid=%d\n",var,getpid(),getppid()); var=101; printf("var =%d,child,pid=%d,ppid=%d\n",var,getpid(),getppid()); sleep(3); } else if(pid>0){ //parent sleep(1); //保障子进程能够修改var的值 printf("var =%d,parent,pid=%d,ppid=%d\n",var,getpid(),getppid()); var=102; printf("var =%d,parent,pid=%d,ppid=%d\n",var,getpid(),getppid()); } return 0;}

转载地址:http://hhwh.baihongyu.com/

你可能感兴趣的文章
《Dotnet9》系列-开源C# Winform控件库强力推荐
查看>>
从头实现一个WPF条形图
查看>>
.NET CORE(C#) WPF 重新设计Instagram
查看>>
.NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐)
查看>>
C# WPF开源控件库:MahApps.Metro
查看>>
使用QT实现一个简单的登陆对话框(纯代码实现C++)
查看>>
QT :warning LNK4042: 对象被多次指定;已忽略多余的指定
查看>>
GLFW 源码 下载-编译-使用/GLAD配置
查看>>
针对单个网站的渗透思路
查看>>
Typescript 学习笔记六:接口
查看>>
Scala字符串与容器
查看>>
关于JTAG,你知道的和不知道的都在这里
查看>>
【CTF】CTFHub 技能树 文件头检查 writeup
查看>>
web服务器-并发服务器2
查看>>
【算法】解析位运算
查看>>
【SqlServer】如何把本地SqlServer数据库部署到远程服务器上
查看>>
【ASP.NET】ASP.NET中权限验证使用OnAuthorization实现
查看>>
第9章 用户自己建立数据类型
查看>>
02、MySQL—数据库基本操作
查看>>
RedHat Linux-配置YUM仓库
查看>>