码迷,mamicode.com
首页 > 系统相关 > 详细

linux中的fork函数的基本用法

时间:2016-05-11 01:04:45      阅读:244      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!