Linux进程控制编程(五)
来源:互联网 发布:数据管理软件开发 编辑:程序博客网 时间:2024/06/05 03:50
一、进程创建
在pid=fork()之前,只有一个进程在执行,但在这条语句执行之后,就变成两个进程在执行了,这两个进程的共享代码段,将要执行的下一条语句都是if(pid==0). 两个进程中,原来就存在的那个进程被称作“父进程”,新出现的那个进程被称作“子进程”,父子进程的区别在于进程标识符(PID)不同.
例:
#include <unistd.h>
#include <stdio.h>
int main(void)
{
pid_t pid;
int count=0;
pid = fork();
count++;
printf( “count = %d\n", count );
return 0;
}
输出:
count = 1
count = 1
思考:
count++被父进程、子进程一共执行了两次,为什么count的第二次输出为什么不为2?
结果:
子进程的数据空间、堆栈空间都会从父进程得到一个拷贝,而不是共享。在子进程中对count进行加1的操作,并没有影响到父进程中的count值,父进程中的count值仍然为0
0 0
- Linux进程控制编程(五)
- linux系统编程之进程(五):终端、作业控制与守护进程
- linux系统编程之进程(五):终端、作业控制与守护进程
- Linux系统进程控制编程(五)——popen函数调用
- linux进程控制编程
- Linux进程控制编程
- Linux进程控制编程
- Linux:进程控制编程
- Linux进程控制编程
- linux进程控制编程
- Linux进程控制编程
- Linux 进程控制编程
- linux进程控制编程
- Linux 进程控制编程
- Linux 进程控制编程
- Linux进程控制编程
- Linux编程之进程控制(1)
- Linux系统编程--进程控制(一)
- HDU 2012 素数判定 (Java)
- LA 4253 Archery
- XSS 攻击原理
- QNX系统BSP开发研发与应用,QNX技术解答-项目开发-软件开发
- Java多线程之i++的安全性问题
- Linux进程控制编程(五)
- Paper Note - Learning to Hash with Binary Deep Neural Network
- js-return返回多个值,通过对象的属性访问
- Tutorial: 344. Reverse String
- 浅识 VB.net
- 数组-选择排序-记录下标
- 自定义了一个标题栏类TitleLayout
- 基于vue.js开发的demo—天气APP
- SourceInsight使用技巧