注意:当使用 fork 函数加载独立进程的时候,你必须总是在 fork 后面调用 exec 或者类似的函数。
基于 Core Foundation、Cocao 或者 Core Data 框架(无论显式还是隐式关联)的应用程序随后
调用 exec 函数或者类似的函数都会导出不确定的结果。
1
2 |
#include<unistd.h>/*#包含<unistd.h>*/ #include<sys/types.h>/*#包含<sys/types.h>*/ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
#include<sys/types.h>//对于此程序而言此头文件types.h用不到 #include<unistd.h> #include<stdio.h> #include<stdlib.h> intmain(intargc, char **argv) /*整数类型主函数*/ { pid_tpid=fork(); /*传递参数*/ if (pid<0) /*如果(进程标记<0)*/ { fprintf (stderr, "错误!" ); } elseif(pid==0) /*否则如果(进程标记==0)*/ { printf ( "百度百科:这是子进程!" ); _exit(0); } else /*否则*/ { printf ( "百度百科:这是父进程!子进程的进程标记为=%d" ,pid); } //可能需要时候wait或waitpid函数等待子进程的结束并获取结束状态 exit (0); } |
原文:http://www.cnblogs.com/spiderdzl/p/3726161.html