您的位置:首页 > 其它

fork()函数的简单程序

2016-05-05 22:54 323 查看
#include <stdio.h>

#include<apue.h> //注:自定义的头文件

int main (int argc,char **argv)

{

fork();

fork() && fork(); //短路运算

//fork();

pause();

return 0;

}

/*

int main (int argc,char **argv)

{

if(fork() == 0 ){

printf("a\n");

exit(0);

}else{

printf("b\n");

waitpid(-1,NULL,0); //回收子进程 ,如果子进程终止,而父进程并未进行回收,则就是僵尸进程,只有程序

} //运行结束之后,系统1号进程进行回收

printf("c\n");

return 0;

}

*/

/*

int main (int argc,char **argv)

{

int x = 1;

if (fork() == 0){

printf("child_printf: %d\n" , ++x); //输出2

}

printf("public_printf : %d\n", --x); //输出2次 0 和 1

return 0;

}

*/

/*

int main (int argc,char **argv)

{

fork();

fork();

printf("hello , world!\n"); //输出4次,它属于代码段,子进程拷贝父进程

return 0;

}

*/

/*

* 父子进程共享.text .data ,当更改数据时,子进程会拷贝父进程的数据

* 父子进程会有自己的空间(栈帧,)

int main (int argc,char **argv)

{

int x = 1;

if(fork() == 0 ){

++x;

printf("child_printf %d = ", x );

}else{

--x;

printf("parents %d =" , x);

}

return 0;

}

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: