3.Linux中fork()函数
来源:互联网 发布:网络规划设计师真题 编辑:程序博客网 时间:2024/06/06 02:33
一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程),这两个进程共享代码空间,但数据空间是独立的,子进程数据空间中的内容是父进程的完整拷贝,指令指针也完全相同,但只有一点不同,fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,如果fork成功,子进程中fork的返回值是0,父进程中fork的返回值是子进程的进程号,如果fork不成功,父进程会返回错误。也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。
一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。
下面代码的输出结果是()
1
2
3
4
5
6
7
8
9
10
11
12
int
main(){
int
pid;
int
num=1;
pid=fork();
if
(pid>0){
num++;
printf
(
"in parent:num:%d addr:%x\n"
,num,&num);
}
else
if
(pid==0){
printf
(
"in child:num:%d addr:%x\n"
,num,&num);
}
}
正确答案: B 你的答案: B (正确)
父子进程中输出的num相同,num地址不相同
父子进程中输出的num不同,num地址相同
父子进程中输出的num相同,num地址也相同
父子进程中输出的num不同,num地址不相同
0 0
- 3.Linux中fork()函数
- linux中fork函数
- linux中fork()函数
- Linux中fork函数
- Linux中fork()函数
- Linux中fork()函数
- Linux中fork()函数详解
- 浅析linux中fork函数
- linux中fork函数详解
- linux中fork()函数详解
- Linux中fork()函数详解
- Linux中fork函数详解
- linux中fork()函数详解
- linux中fork函数详解
- Linux中fork()函数详解
- linux中fork函数详解
- linux中fork()函数详解
- Linux中fork函数详解
- 项目中遇到类似的时区与时间问题总结(令牌问题)-java编程
- JavaWeb之Servlet编程
- 第6章 andriod ARM 实战番外篇 2
- K-Means
- 【leetcode】【173】Binary Search Tree Iterator
- 3.Linux中fork()函数
- JAVA笔记之toString方法
- zend studio快捷键
- 公司用到的一些 iOS 开源库和第三方组件
- JavaScript词法结构
- Java开发中的23种设计模式详解(转)
- matlab cond(H)判断矩阵病态
- jquery插入html标签
- 嵌入式学习 16年开春 U-boot开篇