设为首页 加入收藏

TOP

Linux进程之Fork函数
2015-07-16 12:57:17 来源: 作者: 【 】 浏览:7
Tags:Linux 进程 Fork 函数

Fork()函数


1.所需头文件:


#include?


#include


2.函数定义


pid_t fork( void );


pid_t 是一个宏定义,其实质是int 被定义在#include<sys/types.h>中


返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;


? ? ? ? 否则,出错返回-1


3.函数说明:


?一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。


子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。父子进程间共享的存储空间只有代码段。?


?4.代码


1.#include
2.#include
3.#include
4.#include
5.#include
6.
7.int main()
8.{
9.?
10.? pid_t pid;/*pid 进程id号*/
11.?
12.? pid=fork();/*创建一个新进程*/
13.
14.? if(pid==0) /*返回0为子进程*/
15.? {
16.? printf("Return pid is %d\n",pid);
17.? printf("This is son process!? pid is:%d\n",getpid());
18.? ? ?
19.? }
20.? else if(pid>0)/*返回大于0为父进程*/
21.? {
22.? ? printf("Return pid is %d\n",pid);
23.? ? printf("This is parent process!? pid is:%d\n",getpid());
24.? ? waitpid(pid,NULL,0);/*等待子进程退出*/
25.? }
26.? else
27.? {
28.? ? perror("fork() error!");
29.? ? exit;
30.? }
31.}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇冒泡、插入、归并、堆排序、快速.. 下一篇Linux下shell编程基础知识

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: