关于Linux操作系统Fork的使用
点击次数:33 次 发布日期:2008-11-21 23:26:49 作者:源代码网
|
源代码网推荐
Fork创建一个新的进程,新创建的进程是子进程,它是对父进程以后代码的一个复制,通常用来做多进程的服务器,也可以在子进程中运行独立的代码。 用getpid可以判断当前是子进程还是父进程。 看下面这个例子:
#include <SYS types.h> #include <UNISTD.H> #include <STDIO.H> int main() { pid_t pid; static int n = 0; printf("fork!
"); switch (pid = fork()) { case -1: { /* ..pid.-1.fork.... */ /* ........ */ /* .......... */ perror("The fork failed!"); break; } case 0: { /* pid.0.... */ printf("[child]i am child!
"); printf("[child]getpid=[%d]
", getpid() ); printf("[child]pid=[%d]
", pid ); break; } default: { /* pid..0.... */ printf("[parent]i am parent!
" ); printf("[parent]getpid=[%d]
",getpid() ); printf("[parent]pid=[%d]
",pid ); break; } } printf("n=[%d]
", n++); return 0; }
这个例子在linux下用gcc编译,运行结果如下: fork! [child]i am child! [child]getpid=[7422] [child]pid=[0] n=[0] [parent]i am parent! [parent]getpid=[7421] [parent]pid=[7422] n=[0]
源代码网供稿. |