使用getpid()
andgetppid()
作为父子进程 ID。
例子在这里
int main()
{
int i;
printf("hello before fork \n");
printf("i : %d\n",i);
i=fork();
printf("\n");
if(i==0)
{
printf("Child has started\n\n");
printf("child printing first time \n");
printf("getpid : %d getppid : %d \n",getpid(),getppid());
sleep(5);
printf("\nchild printing second time \n");
printf("getpid : %d getppid : %d \n",getpid(),getppid());
}
else
{
printf("parent has started\n");
printf("getpid : %d getppid : %d \n",getpid(),getppid());
printf("\n");
}
printf("Hi after fork i : %d\n",i);
return 0;
}
输出:
[04mca8@LINTEL pp]$ ./a.out 你好前叉 i : 134514088
孩子开始了
孩子第一次打印 getpid : 8354 getppid : 8353
父母已经开始 getpid : 8353 getppid : 5656
分叉后您好:8354 [04mca8@LINTEL pp]$ 子打印第二次 getpid:8354 getppid:1 分叉后您好:0