首页 > 系统服务 > 详细

linux中的fork函数的基本用法

时间:2016-05-11 01:02:43      阅读:259      评论:0      收藏:0      [点我收藏+]

代码:

 1 #include <iostream> 
 2 #include <string>
 3 #include <cstdio>
 4 #include <unistd.h>
 5 #include <sys/wait.h>
 6 
 7 using namespace std; 
 8 
 9 int main(int argc,char* argv[]){
10 
11     pid_t pid;
12     for(int i = 0; i < 1; i++){
13         cout<<"fork!";
14         pid = fork();
15         if(pid == 0){
16             cout<<"I am child, my pid is "<<getpid()<<endl;
17         }else{
18             cout<<"I am father, my pid is "<<getpid()<<endl;
19             wait(NULL);
20         }
21     }
22     
23     return 0;
24 }

输出:

fork!I am father, my pid is 7499
fork!I am child, my pid is 7500

假如程序第13行改为

cout<<"fork!"<<endl;

则输出变为

fork!
I am father, my pid is 7360
I am child, my pid is 7361

 分析:

cout先输入到缓冲区(没有直接输出到屏幕),执行fork后缓冲区被复制。加了endl则会直接输出,可以看出endl有换行和清空的作用。

linux中的fork函数的基本用法

原文:http://www.cnblogs.com/hu983/p/5479868.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!