首页 / 操作系统 / Linux / Linux进程之Fork函数
Fork()函数1.所需头文件:#include <unistd.h>#include<sys/types.h>2.函数定义pid_t fork( void );pid_t 是一个宏定义,其实质是int 被定义在#include<sys/types.h>中返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID; 否则,出错返回-13.函数说明: 一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。父子进程间共享的存储空间只有代码段。 4.代码1.#include<sys/types.h>
2.#include<unistd.h>
3.#include<stdio.h>
4.#include<stdlib.h>
5.#include<errno.h>
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
",pid);
17. printf("This is son process! pid is:%d
",getpid());
18.
19. }
20. else if(pid>0)/*返回大于0为父进程*/
21. {
22. printf("Return pid is %d
",pid);
23. printf("This is parent process! pid is:%d
",getpid());
24. waitpid(pid,NULL,0);/*等待子进程退出*/
25. }
26. else
27. {
28. perror("fork() error!");
29. exit;
30. }
31.}本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/116280.htm